# File lib/crono/period.rb, line 14 def next(since: nil) if @interval if since @next = @interval.next_within(since, @period) else return initial_next if @interval.within?(initial_next) @next = @interval.next_within(initial_next, @period) end else return initial_next unless since @next = @period.since(since) end @next = @next.beginning_of_week.advance(days: @on) if @on @next = @next.change(time_atts) return @next if @next.future? Time.now end