Class: SpeedtestNet::Upload
- Inherits:
-
Object
- Object
- SpeedtestNet::Upload
- Defined in:
- lib/speedtest_net/upload.rb
Constant Summary collapse
- SIZE =
[250_000, 500_000, 1_000_000, 2_000_000, 4_000_000, 8_000_000, 12_000_000, 17_000_000, 24_000_000, 32_000_000].freeze
Class Method Summary collapse
-
.measure(server, timeout: HTTP_TIMEOUT) ⇒ Object
rubocop:disable Metrics/MethodLength.
Instance Method Summary collapse
- #calculate ⇒ Object
-
#initialize(results) ⇒ Upload
constructor
A new instance of Upload.
Constructor Details
#initialize(results) ⇒ Upload
Returns a new instance of Upload.
14 15 16 |
# File 'lib/speedtest_net/upload.rb', line 14 def initialize(results) @results = results end |
Class Method Details
.measure(server, timeout: HTTP_TIMEOUT) ⇒ Object
rubocop:disable Metrics/MethodLength
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/speedtest_net/upload.rb', line 23 def measure(server, timeout: HTTP_TIMEOUT) # rubocop:disable Metrics/MethodLength config = Config.fetch concurrent_number = config.upload[:threadsperurl] results = [] begin Timeout.timeout(timeout) do SIZE.each do |size| urls = create_urls(server, concurrent_number) results << multi_uploader(urls, size) end end rescue Timeout::Error # rubocop:disable Lint/SuppressedException end new(results) end |
Instance Method Details
#calculate ⇒ Object
18 19 20 |
# File 'lib/speedtest_net/upload.rb', line 18 def calculate CalculateSpeed.call(@results) end |