Skip to content

Commit aed3233

Browse files
committed
Skip removing validations if none are added
Fixes ice-cube-ruby#281
1 parent 88fef0a commit aed3233

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lib/ice_cube/validations/day.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ module IceCube
55
module Validations::Day
66

77
def day(*days)
8+
days = days.flatten
9+
return self if days.empty?
810
days.flatten.each do |day|
911
unless day.is_a?(Fixnum) || day.is_a?(Symbol)
1012
raise ArgumentError, "expecting Fixnum or Symbol value for day, got #{day.inspect}"

spec/examples/weekly_rule_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@ module IceCube
102102
expect { schedule.add_recurrence_rule Rule.weekly.day(["1", "3"]) }.to raise_error
103103
end
104104

105+
it 'should ignore weekday validation when no days are specified' do
106+
schedule = Schedule.new(t0 = WEDNESDAY)
107+
schedule.add_recurrence_rule Rule.weekly(2).day([])
108+
109+
times = schedule.occurrences(t0 + 3 * ONE_WEEK)
110+
expect(times).to eq [t0, t0 + 2 * ONE_WEEK]
111+
end
112+
105113
it 'should produce the correct number of days for @interval = 2 with only one day per week' do
106114
schedule = Schedule.new(t0 = WEDNESDAY)
107115
schedule.add_recurrence_rule Rule.weekly(2).day(:wednesday)

0 commit comments

Comments
 (0)