Sha256: 75269353b69486adacf1d408127e9372a6c1b2943e411d81aa656a0a7ca14e48
Contents?: true
Size: 637 Bytes
Versions: 3
Compression:
Stored size: 637 Bytes
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2018-2022, by Samuel Williams. module Benchmark module HTTP class Seconds UNITS = ["s", "ms", "µs"] SCALE = UNITS.size - 1 def self.[](value) self.new(value) end def initialize(value) @value = value end def scale Math.log(@value) / Math.log(1000) end def to_s scaled_value = @value scale = 0 while scaled_value < 1 && scale < SCALE scaled_value *= 1000 scale += 1 end return sprintf("%0.#{scale+1}f%s", scaled_value, UNITS.fetch(scale)) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
benchmark-http-0.18.0 | lib/benchmark/http/seconds.rb |
benchmark-http-0.16.1 | lib/benchmark/http/seconds.rb |
benchmark-http-0.16.0 | lib/benchmark/http/seconds.rb |