hiccup 0.5.4 → 0.5.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73e0335450c98c244067b003167f60fdba6539e0
|
4
|
+
data.tar.gz: cca4f04660cef3cd3e98e9ff8114c80233793bd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d84ff40e107f34bcb963f3b9be57bd41a5c7642258c982edf63d8b955d5e6065245c94cb4bc384b37eef8d79f493324e2fb3f9e613a3be3ef3de27105ed71aa4
|
7
|
+
data.tar.gz: e08c0c65406a0c1d4b82fd222e1058b76fa44103bd45bbb632be4b1269459344fc1499a75e60737681601ce27e86f27618462a3298261ed98fd35ba880fee6b4
|
@@ -26,11 +26,15 @@ module Hiccup
|
|
26
26
|
def advance!
|
27
27
|
@year += skip
|
28
28
|
current_date
|
29
|
+
rescue
|
30
|
+
advance!
|
29
31
|
end
|
30
32
|
|
31
33
|
def rewind!
|
32
34
|
@year -= skip
|
33
35
|
current_date
|
36
|
+
rescue
|
37
|
+
rewind!
|
34
38
|
end
|
35
39
|
|
36
40
|
|
@@ -43,6 +47,8 @@ module Hiccup
|
|
43
47
|
@year += (skip - remainder) if remainder > 0
|
44
48
|
|
45
49
|
current_date
|
50
|
+
rescue
|
51
|
+
advance!
|
46
52
|
end
|
47
53
|
|
48
54
|
def first_occurrence_on_or_before(date)
|
@@ -53,6 +59,8 @@ module Hiccup
|
|
53
59
|
@year -= remainder if remainder > 0
|
54
60
|
|
55
61
|
current_date
|
62
|
+
rescue
|
63
|
+
rewind!
|
56
64
|
end
|
57
65
|
|
58
66
|
|
@@ -33,6 +33,8 @@ module Hiccup
|
|
33
33
|
day = cycle[@position]
|
34
34
|
return self.next if day > last_day_of_month
|
35
35
|
Date.new(year, month, day)
|
36
|
+
rescue
|
37
|
+
advance!
|
36
38
|
end
|
37
39
|
|
38
40
|
def rewind!
|
@@ -42,6 +44,8 @@ module Hiccup
|
|
42
44
|
day = cycle[@position]
|
43
45
|
return self.prev if day > last_day_of_month
|
44
46
|
Date.new(year, month, day)
|
47
|
+
rescue
|
48
|
+
rewind!
|
45
49
|
end
|
46
50
|
|
47
51
|
|
@@ -56,6 +60,8 @@ module Hiccup
|
|
56
60
|
day = cycle[@position]
|
57
61
|
return self.next if day > last_day_of_month
|
58
62
|
Date.new(year, month, day)
|
63
|
+
rescue
|
64
|
+
advance!
|
59
65
|
end
|
60
66
|
|
61
67
|
def first_occurrence_on_or_before(date)
|
@@ -68,6 +74,8 @@ module Hiccup
|
|
68
74
|
day = cycle[@position]
|
69
75
|
return self.prev if day > last_day_of_month
|
70
76
|
Date.new(year, month, day)
|
77
|
+
rescue
|
78
|
+
rewind!
|
71
79
|
end
|
72
80
|
|
73
81
|
|
data/lib/hiccup/version.rb
CHANGED
data/test/enumerable_test.rb
CHANGED
@@ -367,6 +367,46 @@ class EnumerableTest < ActiveSupport::TestCase
|
|
367
367
|
|
368
368
|
|
369
369
|
|
370
|
+
context "when a weekly schedule includes October 1582" do
|
371
|
+
setup do
|
372
|
+
@schedule = Schedule.new(
|
373
|
+
kind: :weekly,
|
374
|
+
weekly_pattern: %w{Monday},
|
375
|
+
start_date: Date.new(1582, 10, 1))
|
376
|
+
end
|
377
|
+
|
378
|
+
should "just skip the invalid dates" do
|
379
|
+
assert_equal %w{10/01 10/18 10/25}, occurrences_during_month(@schedule, 1582, 10).map { |d| d.strftime("%m/%d") }
|
380
|
+
end
|
381
|
+
end
|
382
|
+
|
383
|
+
context "when a monthly schedule includes October 1582" do
|
384
|
+
setup do
|
385
|
+
@schedule = Schedule.new(
|
386
|
+
kind: :monthly,
|
387
|
+
monthly_pattern: [5, 19],
|
388
|
+
start_date: Date.new(1582, 9, 5))
|
389
|
+
end
|
390
|
+
|
391
|
+
should "just skip the invalid dates" do
|
392
|
+
assert_equal %w{10/19}, occurrences_during_month(@schedule, 1582, 10).map { |d| d.strftime("%m/%d") }
|
393
|
+
end
|
394
|
+
end
|
395
|
+
|
396
|
+
context "when a yearly schedule includes October 1582" do
|
397
|
+
setup do
|
398
|
+
@schedule = Schedule.new(
|
399
|
+
kind: :annually,
|
400
|
+
start_date: Date.new(1580, 10, 8))
|
401
|
+
end
|
402
|
+
|
403
|
+
should "just skip the invalid dates" do
|
404
|
+
assert_equal [], occurrences_during_month(@schedule, 1582, 10).map { |d| d.strftime("%m/%d") }
|
405
|
+
end
|
406
|
+
end
|
407
|
+
|
408
|
+
|
409
|
+
|
370
410
|
if ENV['PERFORMANCE_TEST']
|
371
411
|
test "performance test" do
|
372
412
|
n = 1000
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiccup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Lail
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -193,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
193
|
version: '0'
|
194
194
|
requirements: []
|
195
195
|
rubyforge_project: hiccup
|
196
|
-
rubygems_version: 2.
|
196
|
+
rubygems_version: 2.2.1
|
197
197
|
signing_key:
|
198
198
|
specification_version: 4
|
199
199
|
summary: A library for working with things that recur
|