ice_cube 0.6.10 → 0.6.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|