class ChupaText::TimeoutValue
Attributes
Public Class Methods
Source
# File lib/chupa-text/timeout-value.rb, line 25 def initialize(tag, value) value = parse(value) if value.is_a?(String) @raw = value end
Public Instance Methods
Source
# File lib/chupa-text/timeout-value.rb, line 30 def to_s return "" if @raw.nil? if @raw < 1 "%.2fms" % (@raw * 1000.0) elsif @raw < 60 "%.2fs" % @raw elsif @raw < (60 * 60) "%.2fm" % (@raw / 60.0) else "%.2fh" % (@raw / 60.0 / 60.0) end end
Private Instance Methods
Source
# File lib/chupa-text/timeout-value.rb, line 45 def parse(value) case value when nil nil when Numeric value else return nil if value.empty? scale = 1 case value when /h\z/i scale = 60 * 60 number = $PREMATCH when /m\z/i scale = 60 number = $PREMATCH when /s\z/i number = $PREMATCH else number = value end begin number = Float(number) rescue ArgumentError log_invalid_value(@tag, value, "time") return nil end (number * scale).to_f end end