Class: Periodic::Parser::Parseable
- Inherits:
-
Object
- Object
- Periodic::Parser::Parseable
- Defined in:
- lib/periodic/parser.rb
Instance Method Summary collapse
-
#initialize(string, bias) ⇒ Parseable
constructor
A new instance of Parseable.
- #seconds ⇒ Object
Constructor Details
#initialize(string, bias) ⇒ Parseable
Returns a new instance of Parseable.
10 11 12 13 14 15 16 |
# File 'lib/periodic/parser.rb', line 10 def initialize(string, bias) @string = string validates_inclusion_of_numeral_in_string @bias = bias extract_time_parts_from_string end |
Instance Method Details
#seconds ⇒ Object
18 19 20 21 22 |
# File 'lib/periodic/parser.rb', line 18 def seconds units = { :seconds => 1, :minutes => 60, :hours => 3600, :days => 3600*24, :weeks => 3600*24*7, :months => 3600*24*30, :years => 3600*24*365.25, :decades => 3600*24*365.25*10, :centuries => 3600*24*365.25*100, :millennia => 3600*24*365.25*1000 } seconds = @time_parts.inject(0) { |total, part| total = total + (part[1] * units[part[0]]) } return seconds % 1 == 0 ? seconds.to_i : seconds end |