ice_cube 0.7.4 → 0.7.5
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 +5 -0
- data/lib/ice_cube/schedule.rb +15 -5
- data/lib/ice_cube/version.rb +1 -1
- metadata +9 -11
data/lib/ice_cube/rule.rb
CHANGED
data/lib/ice_cube/schedule.rb
CHANGED
@@ -276,17 +276,21 @@ module IceCube
|
|
276
276
|
answers = []
|
277
277
|
# ensure the bounds are proper
|
278
278
|
if end_time
|
279
|
-
closing_time = end_time unless closing_time && closing_time <
|
279
|
+
closing_time = end_time unless closing_time && closing_time < end_time
|
280
280
|
end
|
281
281
|
opening_time = start_time if opening_time < start_time
|
282
|
-
#
|
283
|
-
|
282
|
+
# walk up to the opening time - and off we go
|
283
|
+
# If we have rules with counts, we need to walk from the beginning of time,
|
284
|
+
# otherwise opening_time
|
285
|
+
time = full_required? ? start_time : opening_time
|
284
286
|
loop do
|
285
287
|
res = next_time(time, closing_time)
|
286
288
|
break unless res
|
287
289
|
break if closing_time && res > closing_time
|
288
|
-
|
289
|
-
|
290
|
+
if res >= opening_time
|
291
|
+
block_given? ? block.call(res) : (answers << res)
|
292
|
+
break if limit && answers.length == limit
|
293
|
+
end
|
290
294
|
time = res + 1
|
291
295
|
end
|
292
296
|
# and return our answers
|
@@ -324,6 +328,12 @@ module IceCube
|
|
324
328
|
min_time
|
325
329
|
end
|
326
330
|
|
331
|
+
# Return a boolean indicating if any rule needs to be run from the start of time
|
332
|
+
def full_required?
|
333
|
+
@all_recurrence_rules.any?(&:full_required?) ||
|
334
|
+
@all_exception_rules.any?(&:full_required?)
|
335
|
+
end
|
336
|
+
|
327
337
|
# Return a boolean indicating whether or not a specific time
|
328
338
|
# is excluded from the schedule
|
329
339
|
def exception_time?(time)
|
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.7.
|
4
|
+
version: 0.7.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
13
|
-
default_executable:
|
12
|
+
date: 2011-12-22 00:00:00.000000000Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: rspec
|
17
|
-
requirement: &
|
16
|
+
requirement: &70240051831480 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ! '>='
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
version: '0'
|
23
22
|
type: :development
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
24
|
+
version_requirements: *70240051831480
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: active_support
|
28
|
-
requirement: &
|
27
|
+
requirement: &70240051830160 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
29
|
requirements:
|
31
30
|
- - ! '>='
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
version: 3.0.0
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
35
|
+
version_requirements: *70240051830160
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: tzinfo
|
39
|
-
requirement: &
|
38
|
+
requirement: &70240051829120 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
40
|
requirements:
|
42
41
|
- - ! '>='
|
@@ -44,7 +43,7 @@ dependencies:
|
|
44
43
|
version: '0'
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
46
|
+
version_requirements: *70240051829120
|
48
47
|
description: ice_cube is a recurring date library for Ruby. It allows for quick,
|
49
48
|
programatic expansion of recurring date rules.
|
50
49
|
email: john@crepezzi.com
|
@@ -91,7 +90,6 @@ files:
|
|
91
90
|
- lib/ice_cube/version.rb
|
92
91
|
- lib/ice_cube.rb
|
93
92
|
- spec/spec_helper.rb
|
94
|
-
has_rdoc: true
|
95
93
|
homepage: http://seejohnrun.github.com/ice_cube/
|
96
94
|
licenses: []
|
97
95
|
post_install_message:
|
@@ -112,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
110
|
version: '0'
|
113
111
|
requirements: []
|
114
112
|
rubyforge_project: ice-cube
|
115
|
-
rubygems_version: 1.
|
113
|
+
rubygems_version: 1.8.10
|
116
114
|
signing_key:
|
117
115
|
specification_version: 3
|
118
116
|
summary: Ruby Date Recurrence Library
|