lib/chronic/repeaters/repeater_minute.rb in chronic-0.2.0 vs lib/chronic/repeaters/repeater_minute.rb in chronic-0.2.1

- old
+ new

@@ -2,27 +2,37 @@ MINUTE_SECONDS = 60 def next(pointer = :future) super - direction = pointer == :future ? 1 : -1 + if !@current_minute_start + case pointer + when :future + @current_minute_start = Time.construct(@now.year, @now.month, @now.day, @now.hour, @now.min + 1) + when :past + @current_minute_start = Time.construct(@now.year, @now.month, @now.day, @now.hour, @now.min - 1) + end + else + direction = pointer == :future ? 1 : -1 + @current_minute_start += direction * MINUTE_SECONDS + end - raise 'not implemented' + Chronic::Span.new(@current_minute_start, @current_minute_start + MINUTE_SECONDS) end def this(pointer = :future) super case pointer when :future minute_begin = @now - minute_end = Time.local(@now.year, @now.month, @now.day, @now.hour, @now.min) + minute_end = Time.construct(@now.year, @now.month, @now.day, @now.hour, @now.min) when :past - minute_begin = Time.local(@now.year, @now.month, @now.day, @now.hour, @now.min) + minute_begin = Time.construct(@now.year, @now.month, @now.day, @now.hour, @now.min) minute_end = @now when :none - minute_begin = Time.local(@now.year, @now.month, @now.day, @now.hour, @now.min) - minute_end = Time.local(@now.year, @now.month, @now.day, @now.hour, @now.min) + MINUTE_SECONDS + minute_begin = Time.construct(@now.year, @now.month, @now.day, @now.hour, @now.min) + minute_end = Time.construct(@now.year, @now.month, @now.day, @now.hour, @now.min) + MINUTE_SECONDS end Chronic::Span.new(minute_begin, minute_end) end \ No newline at end of file