Class: TimeInputs::Parser
- Inherits:
-
Object
- Object
- TimeInputs::Parser
- Defined in:
- lib/time_inputs/parser.rb
Instance Method Summary collapse
-
#initialize(error_policy = ->(message){ raise BaseError, message }) ⇒ Parser
constructor
A new instance of Parser.
- #parse(input_string, options = {}) ⇒ Object
Constructor Details
#initialize(error_policy = ->(message){ raise BaseError, message }) ⇒ Parser
Returns a new instance of Parser.
3 4 5 |
# File 'lib/time_inputs/parser.rb', line 3 def initialize error_policy=->(){ raise BaseError, } @error_policy = error_policy end |
Instance Method Details
#parse(input_string, options = {}) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/time_inputs/parser.rb', line 7 def parse input_string, ={} input_as_hh_mm = to_hh_mm(input_string.to_s) date_context = check_date! .fetch(:date_context) { Date.today } hours, minutes = input_as_hh_mm.split(":") Time.local(date_context.year, date_context.month, date_context.day, hours.to_i, minutes.to_i) rescue BaseError => e @error_policy.call(e.) end |