- 
                Notifications
    You must be signed in to change notification settings 
- Fork 361
Open
Labels
Description
Hello! First of all thanks for the gem, you did a great job!
I'm facing an issue with daily schedule with interval after ice_cube update from version 0.16.3 to version 0.16.4.
According the following reproducion scripts you can see that version 0.16.3 output differs from version 0.16.4 output.
Is it expected behaviour? And which version output is correct?
Environment
Ruby: 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]
OS: MacOS Big Sur 11.6
Version 0.16.3 behaviour reproducion script
require 'bundler/inline'
gemfile do
  source 'https://rubygems.org'
  gem 'ice_cube', '0.16.3'
end
require 'ice_cube'
interval = 4
rule = IceCube::Rule.daily(interval).hour_of_day(9).minute_of_hour(0).second_of_minute(0)
start_time = Time.new(2021, 3, 28, 10, 0, 0, 'UTC') # 2021-03-28 10:00:00 UTC
end_time = Time.new(2021, 4, 7, 23, 59, 59, 'UTC') # 2021-04-07 23:59:59 UTC
schedule = IceCube::Schedule.new(start_time) { |s| s.add_recurrence_rule(rule) }
schedule.occurrences(end_time)
# Output
# 2021-03-29 09:00:00 UTC
# 2021-04-02 09:00:00 UTC
# 2021-04-06 09:00:00 UTCVersion 0.16.4 behaviour reproducion script
require 'bundler/inline'
gemfile do
  source 'https://rubygems.org'
  gem 'ice_cube', '0.16.4'
end
require 'ice_cube'
interval = 4
rule = IceCube::Rule.daily(interval).hour_of_day(9).minute_of_hour(0).second_of_minute(0)
start_time = Time.new(2021, 3, 28, 10, 0, 0, 'UTC') # 2021-03-28 10:00:00 UTC
end_time = Time.new(2021, 4, 7, 23, 59, 59, 'UTC') # 2021-04-07 23:59:59 UTC
schedule = IceCube::Schedule.new(start_time) { |s| s.add_recurrence_rule(rule) }
schedule.occurrences(end_time)
# Output
# 2021-04-01 09:00:00 UTC
# 2021-04-05 09:00:00 UTC