@@ -21,8 +21,9 @@ Imagine you want:
2121You would write:
2222
2323``` ruby
24+ schedule = IceCube ::Schedule .new
2425schedule.add_recurrence_rule(
25- Rule .yearly.day_of_month(13 ).day(:friday ).month_of_year(:october )
26+ IceCube :: Rule .yearly.day_of_month(13 ).day(:friday ).month_of_year(:october )
2627)
2728```
2829
@@ -42,11 +43,11 @@ With ice_cube, you can specify (in increasing order of precedence):
4243* Recurrence Times - To specifically include in a schedule
4344* Exception Times - To specifically exclude from a schedule
4445
45- Example: Specifying a recurrence with an exception time:
46+ Example: Specifying a recurrence with an exception time (ActiveRecord :
4647
4748``` ruby
4849schedule = IceCube ::Schedule .new (now = Time .now) do |s |
49- s.add_recurrence_rule(Rule .daily.count(3 ))
50+ s.add_recurrence_rule(IceCube :: Rule .daily.count(3 ))
5051 s.add_exception_time(now + 1 .day)
5152end
5253
@@ -87,13 +88,13 @@ schedule.previous_occurrences(3, from_time)
8788
8889# or give the schedule a duration and ask if occurring_at?
8990schedule = IceCube ::Schedule .new (now, :duration => 3600 )
90- schedule.add_recurrence_rule Rule .daily
91+ schedule.add_recurrence_rule IceCube :: Rule .daily
9192schedule.occurring_at?(now + 1800 ) # true
9293schedule.occurring_between?(t1, t2)
9394
94- # using end_time also sets the duration
95+ # using end_time also sets the duration
9596schedule = IceCube ::Schedule .new (start = Time .now, :end_time => start + 3600 )
96- schedule.add_recurrence_rule Rule .daily
97+ schedule.add_recurrence_rule IceCube :: Rule .daily
9798schedule.occurring_at?(start + 3599 ) # true
9899schedule.occurring_at?(start + 3600 ) # false
99100
@@ -170,36 +171,36 @@ There are many types of recurrence rules that can be added to a schedule:
170171
171172``` ruby
172173# every day
173- schedule.add_recurrence_rule Rule .daily
174+ schedule.add_recurrence_rule IceCube :: Rule .daily
174175
175176# every third day
176- schedule.add_recurrence_rule Rule .daily(3 )
177+ schedule.add_recurrence_rule IceCube :: Rule .daily(3 )
177178```
178179
179180### Weekly
180181
181182``` ruby
182183# every week
183- schedule.add_recurrence_rule Rule .weekly
184+ schedule.add_recurrence_rule IceCube :: Rule .weekly
184185
185186# every other week on monday and tuesday
186- schedule.add_recurrence_rule Rule .weekly(2 ).day(:monday , :tuesday )
187+ schedule.add_recurrence_rule IceCube :: Rule .weekly(2 ).day(:monday , :tuesday )
187188
188189# for programmatic convenience (same as above)
189- schedule.add_recurrence_rule Rule .weekly(2 ).day(1 , 2 )
190+ schedule.add_recurrence_rule IceCube :: Rule .weekly(2 ).day(1 , 2 )
190191
191192# specifying a weekly interval with a different first weekday (defaults to Sunday)
192- schedule.add_recurrence_rule Rule .weekly(1 , :monday )
193+ schedule.add_recurrence_rule IceCube :: Rule .weekly(1 , :monday )
193194```
194195
195196### Monthly (by day of month)
196197
197198``` ruby
198199# every month on the first and last days of the month
199- schedule.add_recurrence_rule Rule .monthly.day_of_month(1 , - 1 )
200+ schedule.add_recurrence_rule IceCube :: Rule .monthly.day_of_month(1 , - 1 )
200201
201202# every other month on the 15th of the month
202- schedule.add_recurrence_rule Rule .monthly(2 ).day_of_month(15 )
203+ schedule.add_recurrence_rule IceCube :: Rule .monthly(2 ).day_of_month(15 )
203204```
204205
205206Monthly rules will skip months that are too short for the specified day of
@@ -209,69 +210,69 @@ month (e.g. no occurrences in February for `day_of_month(31)`).
209210
210211``` ruby
211212# every month on the first and last tuesdays of the month
212- schedule.add_recurrence_rule Rule .monthly.day_of_week(:tuesday => [1 , - 1 ])
213+ schedule.add_recurrence_rule IceCube :: Rule .monthly.day_of_week(:tuesday => [1 , - 1 ])
213214
214215# every other month on the first monday and last tuesday
215- schedule.add_recurrence_rule Rule .monthly(2 ).day_of_week(
216+ schedule.add_recurrence_rule IceCube :: Rule .monthly(2 ).day_of_week(
216217 :monday => [1 ],
217218 :tuesday => [- 1 ]
218219)
219220
220221# for programmatic convenience (same as above)
221- schedule.add_recurrence_rule Rule .monthly(2 ).day_of_week(1 => [1 ], 2 => [- 1 ])
222+ schedule.add_recurrence_rule IceCube :: Rule .monthly(2 ).day_of_week(1 => [1 ], 2 => [- 1 ])
222223```
223224
224225### Yearly (by day of year)
225226
226227``` ruby
227228# every year on the 100th days from the beginning and end of the year
228- schedule.add_recurrence_rule Rule .yearly.day_of_year(100 , - 100 )
229+ schedule.add_recurrence_rule IceCube :: Rule .yearly.day_of_year(100 , - 100 )
229230
230231# every fourth year on new year's eve
231- schedule.add_recurrence_rule Rule .yearly(4 ).day_of_year(- 1 )
232+ schedule.add_recurrence_rule IceCube :: Rule .yearly(4 ).day_of_year(- 1 )
232233```
233234
234235### Yearly (by month of year)
235236
236237``` ruby
237238# every year on the same day as start_time but in january and february
238- schedule.add_recurrence_rule Rule .yearly.month_of_year(:january , :februrary )
239+ schedule.add_recurrence_rule IceCube :: Rule .yearly.month_of_year(:january , :februrary )
239240
240241# every third year in march
241- schedule.add_recurrence_rule Rule .yearly(3 ).month_of_year(:march )
242+ schedule.add_recurrence_rule IceCube :: Rule .yearly(3 ).month_of_year(:march )
242243
243244# for programatic convenience (same as above)
244- schedule.add_recurrence_rule Rule .yearly(3 ).month_of_year(3 )
245+ schedule.add_recurrence_rule IceCube :: Rule .yearly(3 ).month_of_year(3 )
245246```
246247
247248### Hourly (by hour of day)
248249
249250``` ruby
250251# every hour on the same minute and second as start date
251- schedule.add_recurrence_rule Rule .hourly
252+ schedule.add_recurrence_rule IceCube :: Rule .hourly
252253
253254# every other hour, on mondays
254- schedule.add_recurrence_rule Rule .hourly(2 ).day(:monday )
255+ schedule.add_recurrence_rule IceCube :: Rule .hourly(2 ).day(:monday )
255256```
256257
257258### Minutely (every N minutes)
258259
259260``` ruby
260261# every 10 minutes
261- schedule.add_recurrence_rule Rule .minutely(10 )
262+ schedule.add_recurrence_rule IceCube :: Rule .minutely(10 )
262263
263264# every hour and a half, on the last tuesday of the month
264- schedule.add_recurrence_rule Rule .minutely(90 ).day_of_week(:tuesday => [- 1 ])
265+ schedule.add_recurrence_rule IceCube :: Rule .minutely(90 ).day_of_week(:tuesday => [- 1 ])
265266```
266267
267268### Secondly (every N seconds)
268269
269270``` ruby
270271# every second
271- schedule.add_recurrence_rule Rule .secondly
272+ schedule.add_recurrence_rule IceCube :: Rule .secondly
272273
273274# every 15 seconds between 12:00 - 12:59
274- schedule.add_recurrence_rule Rule .secondly(15 ).hour_of_day(12 )
275+ schedule.add_recurrence_rule IceCube :: Rule .secondly(15 ).hour_of_day(12 )
275276```
276277
277278---
0 commit comments