ice_cube 0.6.10 → 0.6.11
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/ice_cube/rule.rb +6 -0
- data/lib/ice_cube/schedule.rb +37 -4
- data/lib/ice_cube/version.rb +1 -1
- metadata +3 -3
data/lib/ice_cube/rule.rb
CHANGED
data/lib/ice_cube/schedule.rb
CHANGED
@@ -168,6 +168,14 @@ module IceCube
|
|
168
168
|
@rrule_occurrence_heads << RuleOccurrence.new(rule, @start_date, @end_time)
|
169
169
|
end
|
170
170
|
|
171
|
+
# Remove a recurrence rule, returns the removed rules, or nil
|
172
|
+
def remove_recurrence_rule(rule)
|
173
|
+
raise ArgumentError.new('Argument must be a valid rule') unless rule.class < Rule
|
174
|
+
deletions = []
|
175
|
+
@rrule_occurrence_heads.delete_if { |h| deletions << h.rule if h.rule == rule }
|
176
|
+
deletions
|
177
|
+
end
|
178
|
+
|
171
179
|
def rrules
|
172
180
|
@rrule_occurrence_heads.map { |h| h.rule }
|
173
181
|
end
|
@@ -178,6 +186,14 @@ module IceCube
|
|
178
186
|
@exrule_occurrence_heads << RuleOccurrence.new(rule, @start_date, @end_time)
|
179
187
|
end
|
180
188
|
|
189
|
+
# Remove an exception rule, returns the removed rule, or nil
|
190
|
+
def remove_exception_rule(rule)
|
191
|
+
raise ArgumentError.new('Argument must be a valid rule') unless rule.class < Rule
|
192
|
+
deletions = []
|
193
|
+
@exrule_occurrence_heads.delete_if { |h| deletions << h.rule if h.rule == rule }
|
194
|
+
deletions
|
195
|
+
end
|
196
|
+
|
181
197
|
def exrules
|
182
198
|
@exrule_occurrence_heads.map { |h| h.rule }
|
183
199
|
end
|
@@ -187,11 +203,23 @@ module IceCube
|
|
187
203
|
@rdates << date unless date.nil?
|
188
204
|
end
|
189
205
|
|
206
|
+
# Remove an individual date from this schedule's recurrence dates
|
207
|
+
# return date that was removed, nil otherwise
|
208
|
+
def remove_recurrence_date(date)
|
209
|
+
@rdates.delete(date)
|
210
|
+
end
|
211
|
+
|
190
212
|
# Add an individual date exception to this schedule
|
191
213
|
def add_exception_date(date)
|
192
214
|
@exdates << date unless date.nil?
|
193
215
|
end
|
194
216
|
|
217
|
+
# Remove an individual date exception from this schedule's exception dates
|
218
|
+
# return date that was removed, nil otherwise
|
219
|
+
def remove_exception_date(date)
|
220
|
+
@exdates.delete(date)
|
221
|
+
end
|
222
|
+
|
195
223
|
def occurrences_between(begin_time, end_time)
|
196
224
|
# adjust to the propert end date
|
197
225
|
end_time = @end_time if @end_time && @end_time < end_time
|
@@ -209,10 +237,15 @@ module IceCube
|
|
209
237
|
end
|
210
238
|
|
211
239
|
alias :rdate :add_recurrence_date
|
212
|
-
alias rrule add_recurrence_rule
|
213
|
-
alias exdate add_exception_date
|
214
|
-
alias exrule add_exception_rule
|
215
|
-
|
240
|
+
alias :rrule :add_recurrence_rule
|
241
|
+
alias :exdate :add_exception_date
|
242
|
+
alias :exrule :add_exception_rule
|
243
|
+
alias :recurrence_dates :rdates
|
244
|
+
alias :exception_dates :exdates
|
245
|
+
alias :remove_rdate :remove_recurrence_date
|
246
|
+
alias :remove_exdate :remove_exception_date
|
247
|
+
alias :remove_rrule :remove_recurrence_rule
|
248
|
+
alias :remove_exrule :remove_exception_rule
|
216
249
|
|
217
250
|
private
|
218
251
|
|
data/lib/ice_cube/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ice_cube
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ default_executable:
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|
17
|
-
requirement: &
|
17
|
+
requirement: &70126045890940 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70126045890940
|
26
26
|
description: ice_cube is a recurring date library for Ruby. It allows for quick,
|
27
27
|
programatic expansion of recurring date rules.
|
28
28
|
email: john@crepezzi.com
|