Class: Periodic::Parser::Parseable

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

Instance Method Summary collapse

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

#secondsObject



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