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