class TimeKeeper::Parser::Base
Constants
- TIME_FORMAT_REGEX
Attributes
hour[RW]
min[RW]
time_str[RW]
Public Class Methods
build(time_in_str)
click to toggle source
# File lib/time_keeper/parser/base.rb, line 19 def self.build(time_in_str) if self.meridian_format?(time_in_str) TimeKeeper::Parser::Meridian.new(time_in_str) else TimeKeeper::Parser::Military.new(time_in_str) end end
meridian_format?(time_in_str)
click to toggle source
# File lib/time_keeper/parser/base.rb, line 31 def self.meridian_format?(time_in_str) time_in_str.downcase =~ /(am|pm)/ end
new(time_str)
click to toggle source
# File lib/time_keeper/parser/base.rb, line 14 def initialize(time_str) @time_str = time_str raise "#{time_str} is not a valid time" unless self.valid? end
Public Instance Methods
parse()
click to toggle source
# File lib/time_keeper/parser/base.rb, line 27 def parse raise NotImplementedError end
Private Instance Methods
extract_hour()
click to toggle source
# File lib/time_keeper/parser/base.rb, line 41 def extract_hour raise NotImplementedError end
extract_min(min_of_day)
click to toggle source
# File lib/time_keeper/parser/base.rb, line 45 def extract_min(min_of_day) @min = min_of_day.blank? ? 0 : min_of_day[1..-1].strip.to_i end
time_is_valid()
click to toggle source
# File lib/time_keeper/parser/base.rb, line 37 def time_is_valid raise NotImplementedError end