Class: TimeParser

Inherits:
Object
  • Object
show all
Defined in:
lib/time_parser.rb

Overview

Library for parsing time intervals from config files.

Suppots days, hours, minutes and seconds; leaves numeric as numeric.

Class Method Summary collapse

Class Method Details

.parse(str) ⇒ Object

Usage

TimeParser.parse('1m 1s') # => 61
TimeParser.parse(10)      # => 10


11
12
13
14
15
16
17
18
19
20
21
# File 'lib/time_parser.rb', line 11

def self.parse(str)
  return str if str.is_a?(Numeric)
  time = 0
  str.gsub(' ', '').scan(/(\d+)(m|s|h|d)/).each do |amount, measure|
    time += amount.to_i * TOKENS[measure]
  end
  str.gsub(' ', '').scan(/(\d+)$/).each do |amount|
    time += amount[0].to_i
  end
  time
end

.versionObject



23
24
25
# File 'lib/time_parser.rb', line 23

def self.version
  '0.1.0'
end