From 5c26cf91bcd1919d56509d42e3439982336e036b Mon Sep 17 00:00:00 2001 From: "Luiz F. Picolo" Date: Mon, 11 Sep 2023 22:26:21 -0400 Subject: [PATCH] Refactor Speedtest Data Saving Logic --- models/rate.rb | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/models/rate.rb b/models/rate.rb index 6df0f29..737ea4c 100644 --- a/models/rate.rb +++ b/models/rate.rb @@ -30,12 +30,26 @@ class Rate < ActiveRecord::Base end def self.save - test = Speedtest::Test.new(debug: false) - result = test.run - - Rate.create({ - download: result.pretty_download_rate, - upload: result.pretty_upload_rate, - }) + results = run_speedtest + if results + Rate.create({ + download: results[:download], + upload: results[:upload], + }) + end + end + + def run_speedtest + output = `speedtest` + if $?.success? + download_speed = output.match(/Download:\s+(\d+\.\d+)\sMbps/)[1] + upload_speed = output.match(/Upload:\s+(\d+\.\d+)\sMbps/)[1] + { + download: download_speed.to_f, + upload: upload_speed.to_f + } + else + nil + end end end \ No newline at end of file