lib/chronic/handlers.rb in chronic-0.9.0 vs lib/chronic/handlers.rb in chronic-0.9.1
- old
+ new
@@ -248,15 +248,11 @@
new_tokens = [tokens[1], tokens[0]]
time_tokens = tokens.last(tokens.size - 2)
handle_sm_sd(new_tokens + time_tokens, options)
end
- # Handle scalar-month/scalar-year
- def handle_sm_sy(tokens, options)
- month = tokens[0].get_tag(ScalarMonth).type
- year = tokens[1].get_tag(ScalarYear).type
-
+ def handle_year_and_month(year, month)
if month == 12
next_month_year = year + 1
next_month_month = 1
else
next_month_year = year
@@ -269,10 +265,24 @@
rescue ArgumentError
nil
end
end
+ # Handle scalar-month/scalar-year
+ def handle_sm_sy(tokens, options)
+ month = tokens[0].get_tag(ScalarMonth).type
+ year = tokens[1].get_tag(ScalarYear).type
+ handle_year_and_month(year, month)
+ end
+
+ # Handle scalar-year/scalar-month
+ def handle_sy_sm(tokens, options)
+ year = tokens[0].get_tag(ScalarYear).type
+ month = tokens[1].get_tag(ScalarMonth).type
+ handle_year_and_month(year, month)
+ end
+
# Handle RepeaterDayName RepeaterMonthName OrdinalDay
def handle_rdn_rmn_od(tokens, options)
month = tokens[1].get_tag(RepeaterMonthName)
day = tokens[2].get_tag(OrdinalDay).type
time_tokens = tokens.last(tokens.size - 3)
@@ -402,10 +412,9 @@
repeater.offset(span, distance, pointer) if repeater.respond_to?(:offset)
end
# Handle scalar/repeater/pointer
def handle_s_r_p(tokens, options)
- repeater = tokens[1].get_tag(Repeater)
span = Span.new(self.now, self.now + 1)
handle_srp(tokens, span, options)
end