data-transfer-test/models/rate.rb

33 lines
779 B
Ruby

require 'speedtest'
require 'sinatra/activerecord'
Time.zone = "America/Campo_Grande"
ActiveRecord::Base.default_timezone = :local
class Rate < ActiveRecord::Base
def self.get_download
where(created_at: Date.today.all_day).collect { |p| [p.created_at.strftime('%d/%m %H:%M'), p.download] }
end
def self.get_upload
where(created_at: Date.today.all_day).collect { |p| [p.created_at.strftime('%d/%m %H:%M'), p.upload] }
end
def self.average_download
average(:download).ceil(2)
end
def self.average_upload
average(:upload).ceil(2)
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,
})
end
end