When creating a monthly recurrence rule, if I add a -1 to days_of_month all the other days in the array are ignored.
iex(5)> schedule = Cocktail.schedule(~N[2025-02-01 00:00:00])
#Cocktail.Schedule<>
iex(6)> schedule = Cocktail.Schedule.add_recurrence_rule(schedule, :monthly, days_of_month: [1, 10, 20, -1])
#Cocktail.Schedule<Monthly>
iex(7)> Cocktail.Schedule.occurrences(schedule) |> Enum.take(5)
[~N[2025-02-28 00:00:00], ~N[2025-03-31 00:00:00], ~N[2025-04-30 00:00:00],
~N[2025-05-31 00:00:00], ~N[2025-06-30 00:00:00]]
iex(8)> schedule = Cocktail.schedule(~N[2025-02-01 00:00:00])
#Cocktail.Schedule<>
iex(9)> schedule = Cocktail.Schedule.add_recurrence_rule(schedule, :monthly, days_of_month: [-1, 1, 10, 20])
#Cocktail.Schedule<Monthly>
iex(10)> Cocktail.Schedule.occurrences(schedule) |> Enum.take(5)
[~N[2025-02-28 00:00:00], ~N[2025-03-31 00:00:00], ~N[2025-04-30 00:00:00],
~N[2025-05-31 00:00:00], ~N[2025-06-30 00:00:00]]
Expected result:
iex(5)> schedule = Cocktail.schedule(~N[2025-02-01 00:00:00])
#Cocktail.Schedule<>
iex(6)> schedule = Cocktail.Schedule.add_recurrence_rule(schedule, :monthly, days_of_month: [1, 10, 20, -1])
#Cocktail.Schedule<Monthly>
iex(7)> Cocktail.Schedule.occurrences(schedule) |> Enum.take(5)
[~N[2025-02-01 00:00:00], ~N[2025-02-10 00:00:00], ~N[2025-02-20 00:00:00],
~N[2025-02-28 00:00:00], ~N[2025-03-01 00:00:00]]
When creating a monthly recurrence rule, if I add a
-1todays_of_monthall the other days in the array are ignored.Expected result: