lib/checkoff/timing.rb in checkoff-0.180.0 vs lib/checkoff/timing.rb in checkoff-0.181.0

- old
+ new

@@ -38,10 +38,12 @@ # # Valid values: :this_week, :now_or_before, :indefinite, [:less_than_n_days_ago, Integer] def in_period?(date_or_time, period) return this_week?(date_or_time) if period == :this_week + return next_week?(date_or_time) if period == :next_week + return day_of_week?(date_or_time, period) if %i[monday tuesday wednesday thursday friday saturday sunday].include?(period) return true if period == :indefinite @@ -109,9 +111,26 @@ today = @today_getter.today # Beginning of this week (assuming week starts on Sunday) beginning_of_week = today - today.wday + + # End of this week (assuming week ends on Saturday) + end_of_week = beginning_of_week + 6 + + date = date_or_time.to_date + + date >= beginning_of_week && date <= end_of_week + end + + # @param date_or_time [Date,Time,nil] + def next_week?(date_or_time) + return false if date_or_time.nil? + + today = @today_getter.today + + # Beginning of next week (assuming week starts on Sunday) + beginning_of_week = today - today.wday + 7 # End of this week (assuming week ends on Saturday) end_of_week = beginning_of_week + 6 date = date_or_time.to_date