Module: DTAS::ParseTime
- Included in:
- FadeFX, DTAS::Player::ClientHandler, TFX
- Defined in:
- lib/dtas/parse_time.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#parse_time(time) ⇒ Object
convert a string time to seconds, returning a Floot or Integer.
Instance Method Details
#parse_time(time) ⇒ Object
convert a string time to seconds, returning a Floot or Integer
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/dtas/parse_time.rb', line 9 def parse_time(time) case time when Numeric time when /\A\d+\z/ time.to_i when /\A[\d\.]+\z/ time.to_f when /\A[:\d\.]+\z/ hhmmss = time.dup rv = hhmmss.sub!(/\.(\d+)\z/, "") ? "0.#$1".to_f : 0 # deal with HH:MM:SS t = hhmmss.split(':') raise ArgumentError, "Bad time format: #{hhmmss}" if t.size > 3 mult = 1 while part = t.pop rv += part.to_i * mult mult *= 60 end rv else raise ArgumentError, "unparseable: #{time.inspect}" end end |