holidays 3.3.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +44 -0
- data/CONTRIBUTING.md +37 -0
- data/README.md +16 -25
- data/REFERENCES +4 -1
- data/Rakefile +38 -8
- data/benchmark.rb +8 -0
- data/definitions/README.md +187 -8
- data/definitions/ar.yaml +2 -1
- data/definitions/at.yaml +17 -13
- data/definitions/au.yaml +65 -60
- data/definitions/be_fr.yaml +14 -10
- data/definitions/be_nl.yaml +8 -4
- data/definitions/bg.yaml +12 -6
- data/definitions/br.yaml +6 -3
- data/definitions/ca.yaml +8 -6
- data/definitions/ch.yaml +21 -15
- data/definitions/cl.yaml +4 -2
- data/definitions/cr.yaml +5 -3
- data/definitions/cz.yaml +4 -2
- data/definitions/de.yaml +25 -14
- data/definitions/dk.yaml +26 -17
- data/definitions/ecb_target.yaml +4 -2
- data/definitions/el.yaml +23 -18
- data/definitions/es.yaml +31 -28
- data/definitions/federal_reserve.yaml +12 -12
- data/definitions/fedex.yaml +6 -6
- data/definitions/fi.yaml +26 -25
- data/definitions/fr.yaml +8 -4
- data/definitions/gb.yaml +9 -7
- data/definitions/hr.yaml +8 -6
- data/definitions/hu.yaml +8 -6
- data/definitions/ie.yaml +17 -16
- data/definitions/index.yaml +1 -1
- data/definitions/is.yaml +29 -19
- data/definitions/it.yaml +10 -9
- data/definitions/jp.yaml +92 -44
- data/definitions/li.yaml +25 -20
- data/definitions/lt.yaml +2 -1
- data/definitions/ma.yaml +7 -7
- data/definitions/mx.yaml +11 -11
- data/definitions/nerc.yaml +6 -6
- data/definitions/nl.yaml +22 -18
- data/definitions/no.yaml +19 -11
- data/definitions/north_america_informal.yaml +6 -6
- data/definitions/nyse.yaml +9 -8
- data/definitions/nz.yaml +33 -29
- data/definitions/ph.yaml +15 -8
- data/definitions/pl.yaml +27 -17
- data/definitions/pt.yaml +4 -2
- data/definitions/ro.yaml +21 -18
- data/definitions/se.yaml +24 -18
- data/definitions/sg.yaml +10 -9
- data/definitions/si.yaml +4 -2
- data/definitions/sk.yaml +4 -2
- data/definitions/united_nations.yaml +12 -12
- data/definitions/ups.yaml +6 -6
- data/definitions/us.yaml +12 -11
- data/definitions/ve.yaml +8 -4
- data/definitions/vi.yaml +6 -6
- data/definitions/za.yaml +26 -24
- data/holidays.gemspec +3 -1
- data/lib/generated_definitions/MANIFEST +1 -1
- data/lib/generated_definitions/ar.rb +8 -6
- data/lib/generated_definitions/at.rb +11 -9
- data/lib/generated_definitions/au.rb +75 -99
- data/lib/generated_definitions/be.rb +12 -10
- data/lib/generated_definitions/be_fr.rb +12 -10
- data/lib/generated_definitions/be_nl.rb +12 -10
- data/lib/generated_definitions/bg.rb +14 -13
- data/lib/generated_definitions/br.rb +11 -9
- data/lib/generated_definitions/ca.rb +20 -20
- data/lib/generated_definitions/ch.rb +41 -44
- data/lib/generated_definitions/cl.rb +9 -7
- data/lib/generated_definitions/cr.rb +9 -7
- data/lib/generated_definitions/cz.rb +9 -6
- data/lib/generated_definitions/de.rb +25 -25
- data/lib/generated_definitions/dk.rb +17 -15
- data/lib/generated_definitions/ecb_target.rb +9 -7
- data/lib/generated_definitions/el.rb +13 -11
- data/lib/generated_definitions/es.rb +35 -33
- data/lib/generated_definitions/europe.rb +234 -247
- data/lib/generated_definitions/federal_reserve.rb +11 -9
- data/lib/generated_definitions/fedex.rb +42 -0
- data/lib/generated_definitions/fi.rb +32 -36
- data/lib/generated_definitions/fr.rb +12 -10
- data/lib/generated_definitions/gb.rb +15 -13
- data/lib/generated_definitions/hr.rb +10 -8
- data/lib/generated_definitions/hu.rb +9 -7
- data/lib/generated_definitions/ie.rb +17 -17
- data/lib/generated_definitions/is.rb +26 -26
- data/lib/generated_definitions/it.rb +9 -7
- data/lib/generated_definitions/jp.rb +112 -89
- data/lib/generated_definitions/li.rb +14 -12
- data/lib/generated_definitions/lt.rb +9 -7
- data/lib/generated_definitions/ma.rb +7 -5
- data/lib/generated_definitions/mx.rb +7 -5
- data/lib/generated_definitions/nerc.rb +10 -8
- data/lib/generated_definitions/nl.rb +15 -13
- data/lib/generated_definitions/no.rb +16 -14
- data/lib/generated_definitions/north_america.rb +34 -37
- data/lib/generated_definitions/nyse.rb +10 -8
- data/lib/generated_definitions/nz.rb +40 -40
- data/lib/generated_definitions/ph.rb +17 -13
- data/lib/generated_definitions/pl.rb +25 -27
- data/lib/generated_definitions/pt.rb +10 -8
- data/lib/generated_definitions/ro.rb +11 -9
- data/lib/generated_definitions/scandinavia.rb +92 -102
- data/lib/generated_definitions/se.rb +25 -27
- data/lib/generated_definitions/sg.rb +11 -9
- data/lib/generated_definitions/si.rb +10 -8
- data/lib/generated_definitions/sk.rb +9 -7
- data/lib/generated_definitions/united_nations.rb +7 -5
- data/lib/generated_definitions/ups.rb +13 -12
- data/lib/generated_definitions/us.rb +20 -21
- data/lib/generated_definitions/ve.rb +11 -9
- data/lib/generated_definitions/vi.rb +7 -5
- data/lib/generated_definitions/za.rb +19 -17
- data/lib/holidays.rb +20 -83
- data/lib/holidays/date_calculator/weekend_modifier.rb +22 -5
- data/lib/holidays/definition/context/generator.rb +67 -29
- data/lib/holidays/definition/context/merger.rb +8 -8
- data/lib/holidays/definition/decorator/custom_method_proc.rb +28 -0
- data/lib/holidays/definition/decorator/custom_method_source.rb +30 -0
- data/lib/holidays/definition/entity/custom_method.rb +11 -0
- data/lib/holidays/definition/parser/custom_method.rb +69 -0
- data/lib/holidays/definition/repository/custom_methods.rb +27 -0
- data/lib/holidays/definition/repository/holidays_by_month.rb +1 -1
- data/lib/holidays/definition/repository/{proc_cache.rb → proc_result_cache.rb} +19 -4
- data/lib/holidays/definition/validator/custom_method.rb +31 -0
- data/lib/holidays/definition_factory.rb +42 -6
- data/lib/holidays/errors.rb +6 -0
- data/lib/holidays/load_all_definitions.rb +57 -0
- data/lib/holidays/option/context/parse_options.rb +26 -16
- data/lib/holidays/option_factory.rb +1 -0
- data/lib/holidays/use_case/context/between.rb +41 -14
- data/lib/holidays/use_case_factory.rb +2 -1
- data/lib/holidays/version.rb +1 -1
- data/test/data/test_single_custom_holiday_with_custom_procs.yaml +24 -0
- data/test/defs/test_defs_at.rb +1 -1
- data/test/defs/test_defs_au.rb +3 -2
- data/test/defs/test_defs_cr.rb +1 -0
- data/test/defs/test_defs_cz.rb +1 -0
- data/test/defs/test_defs_dk.rb +2 -2
- data/test/defs/test_defs_el.rb +7 -6
- data/test/defs/test_defs_europe.rb +40 -33
- data/test/defs/test_defs_fedex.rb +24 -0
- data/test/defs/test_defs_fi.rb +4 -3
- data/test/defs/test_defs_hr.rb +2 -2
- data/test/defs/test_defs_hu.rb +2 -2
- data/test/defs/test_defs_is.rb +2 -1
- data/test/defs/test_defs_it.rb +2 -1
- data/test/defs/test_defs_jp.rb +1 -1
- data/test/defs/test_defs_li.rb +1 -1
- data/test/defs/test_defs_ma.rb +2 -1
- data/test/defs/test_defs_mx.rb +4 -3
- data/test/defs/test_defs_nl.rb +7 -6
- data/test/defs/test_defs_no.rb +1 -0
- data/test/defs/test_defs_north_america.rb +4 -3
- data/test/defs/test_defs_nyse.rb +2 -1
- data/test/defs/test_defs_pl.rb +1 -0
- data/test/defs/test_defs_ro.rb +11 -11
- data/test/defs/test_defs_scandinavia.rb +12 -8
- data/test/defs/test_defs_se.rb +3 -2
- data/test/defs/test_defs_sg.rb +2 -1
- data/test/defs/test_defs_vi.rb +1 -1
- data/test/defs/test_defs_za.rb +3 -2
- data/test/holidays/date_calculator/test_weekend_modifier.rb +11 -0
- data/test/holidays/definition/context/test_generator.rb +64 -5
- data/test/holidays/definition/context/test_merger.rb +5 -2
- data/test/holidays/definition/decorator/test_custom_method_proc.rb +113 -0
- data/test/holidays/definition/decorator/test_custom_method_source.rb +96 -0
- data/test/holidays/definition/parser/test_custom_method.rb +79 -0
- data/test/holidays/definition/repository/test_custom_methods.rb +43 -0
- data/test/holidays/definition/repository/test_holidays_by_month.rb +0 -32
- data/test/holidays/definition/repository/test_proc_result_cache.rb +84 -0
- data/test/holidays/definition/validator/test_custom_method.rb +89 -0
- data/test/holidays/option/context/test_parse_options.rb +5 -0
- data/test/holidays/test_definition_factory.rb +17 -2
- data/test/holidays/use_case/context/test_between.rb +2 -0
- data/test/test_all_regions.rb +7 -49
- data/test/test_custom_holidays.rb +8 -2
- data/test/test_helper.rb +9 -2
- data/test/test_holidays.rb +9 -29
- metadata +46 -11
- data/lib/generated_definitions/fed_ex.rb +0 -41
- data/test/holidays/definition/repository/test_proc_cache.rb +0 -29
- data/test/test_parse_definitions.rb +0 -30
data/definitions/li.yaml
CHANGED
@@ -3,59 +3,65 @@
|
|
3
3
|
# Updated: 2011-10-17.
|
4
4
|
# Sources:
|
5
5
|
# http://www.tourismus.li/de/navpage-RegionLI-InformationLI-44728.html
|
6
|
-
---
|
6
|
+
---
|
7
7
|
months:
|
8
|
-
0:
|
8
|
+
0:
|
9
9
|
- name: Fasnachtsdienstag
|
10
10
|
regions: [li]
|
11
|
-
function: easter(year)
|
11
|
+
function: easter(year)
|
12
|
+
function_modifier: -47
|
12
13
|
- name: Karfreitag
|
13
14
|
regions: [li]
|
14
|
-
function: easter(year)
|
15
|
+
function: easter(year)
|
16
|
+
function_modifier: -2
|
15
17
|
- name: Ostern
|
16
18
|
regions: [li]
|
17
19
|
function: easter(year)
|
18
20
|
type: informal
|
19
21
|
- name: Ostermontag
|
20
22
|
regions: [li]
|
21
|
-
function: easter(year)
|
23
|
+
function: easter(year)
|
24
|
+
function_modifier: 1
|
22
25
|
- name: Auffahrt
|
23
26
|
regions: [li]
|
24
|
-
function: easter(year)
|
27
|
+
function: easter(year)
|
28
|
+
function_modifier: 39
|
25
29
|
- name: Pfingstmontag
|
26
30
|
regions: [li]
|
27
|
-
function: easter(year)
|
31
|
+
function: easter(year)
|
32
|
+
function_modifier: 50
|
28
33
|
- name: Fronleichnam
|
29
34
|
regions: [li]
|
30
|
-
function: easter(year)
|
31
|
-
|
35
|
+
function: easter(year)
|
36
|
+
function_modifier: 60
|
37
|
+
1:
|
32
38
|
- name: Neujahrstag
|
33
39
|
regions: [li]
|
34
40
|
mday: 1
|
35
41
|
- name: Heilige Drei Könige
|
36
42
|
regions: [li, li]
|
37
43
|
mday: 6
|
38
|
-
2:
|
44
|
+
2:
|
39
45
|
- name: Maria Lichtmess
|
40
46
|
regions: [li]
|
41
47
|
mday: 2
|
42
|
-
3:
|
48
|
+
3:
|
43
49
|
- name: St. Josef
|
44
50
|
regions: [li]
|
45
51
|
mday: 19
|
46
|
-
5:
|
52
|
+
5:
|
47
53
|
- name: Tag der Arbeit
|
48
54
|
regions: [li]
|
49
55
|
mday: 1
|
50
|
-
8:
|
56
|
+
8:
|
51
57
|
- name: Staatsfeiertag
|
52
58
|
regions: [li]
|
53
59
|
mday: 15
|
54
|
-
9:
|
60
|
+
9:
|
55
61
|
- name: Maria Geburt
|
56
62
|
regions: [li]
|
57
63
|
mday: 8
|
58
|
-
11:
|
64
|
+
11:
|
59
65
|
- name: Allerheiligen
|
60
66
|
regions: [li]
|
61
67
|
mday: 1
|
@@ -76,7 +82,7 @@ months:
|
|
76
82
|
regions: [li]
|
77
83
|
mday: 31
|
78
84
|
tests: |
|
79
|
-
{Date.civil(2009,1,1) => 'Neujahrstag',
|
85
|
+
{Date.civil(2009,1,1) => 'Neujahrstag',
|
80
86
|
Date.civil(2011,3,8) => 'Fasnachtsdienstag',
|
81
87
|
Date.civil(2009,4,10) => 'Karfreitag',
|
82
88
|
Date.civil(2009,4,12) => 'Ostern',
|
@@ -87,16 +93,15 @@ tests: |
|
|
87
93
|
Date.civil(2009,12,26) => 'Stefanstag'}.each do |date, name|
|
88
94
|
assert_equal name, Holidays.on(date, :li, :informal)[0][:name]
|
89
95
|
end
|
90
|
-
|
96
|
+
|
91
97
|
[:li].each do |r|
|
92
98
|
assert_equal 'Fronleichnam', Holidays.on(Date.civil(2009,6,11), r)[0][:name]
|
93
99
|
end
|
94
|
-
|
100
|
+
|
95
101
|
[:li].each do |r|
|
96
102
|
assert_equal 'Staatsfeiertag', Holidays.on(Date.civil(2009,8,15), r)[0][:name]
|
97
103
|
end
|
98
|
-
|
104
|
+
|
99
105
|
[:li].each do |r|
|
100
106
|
assert_equal 'Allerheiligen', Holidays.on(Date.civil(2009,11,1), r)[0][:name]
|
101
107
|
end
|
102
|
-
|
data/definitions/lt.yaml
CHANGED
data/definitions/ma.yaml
CHANGED
@@ -4,16 +4,16 @@
|
|
4
4
|
# Some dates in Islamic Calendar are missing.
|
5
5
|
# Sources:
|
6
6
|
# - http://en.wikipedia.org/wiki/Public_holidays_in_Morocco
|
7
|
-
---
|
7
|
+
---
|
8
8
|
months:
|
9
|
-
1:
|
9
|
+
1:
|
10
10
|
- name: Ras l' âm
|
11
11
|
regions: [ma]
|
12
12
|
mday: 1
|
13
13
|
- name: Takdim watikat al-istiqlal
|
14
14
|
regions: [ma]
|
15
15
|
mday: 11
|
16
|
-
5:
|
16
|
+
5:
|
17
17
|
- name: Eid Ash-Shughl
|
18
18
|
regions: [ma]
|
19
19
|
mday: 1
|
@@ -21,7 +21,7 @@ months:
|
|
21
21
|
- name: Eid Al-Ârch
|
22
22
|
regions: [ma]
|
23
23
|
mday: 30
|
24
|
-
8:
|
24
|
+
8:
|
25
25
|
- name: Zikra Oued Ed-Dahab
|
26
26
|
regions: [ma]
|
27
27
|
mday: 14
|
@@ -31,7 +31,7 @@ months:
|
|
31
31
|
- name: Eid Al Milad
|
32
32
|
regions: [ma]
|
33
33
|
mday: 21
|
34
|
-
11:
|
34
|
+
11:
|
35
35
|
- name: Eid Al Massira Al Khadra
|
36
36
|
regions: [ma]
|
37
37
|
mday: 6
|
@@ -39,7 +39,7 @@ months:
|
|
39
39
|
regions: [ma]
|
40
40
|
mday: 18
|
41
41
|
tests: |
|
42
|
-
{Date.civil(2007,1,1) => 'Ras l\' âm',
|
42
|
+
{Date.civil(2007,1,1) => 'Ras l\' âm',
|
43
43
|
Date.civil(2007,1,11) => 'Takdim watikat al-istiqlal',
|
44
44
|
Date.civil(2007,5,1) => 'Eid Ash-Shughl',
|
45
45
|
Date.civil(2007,7,30) => 'Eid Al-Ârch',
|
@@ -49,4 +49,4 @@ tests: |
|
|
49
49
|
Date.civil(2007,11,6) => 'Eid Al Massira Al Khadra',
|
50
50
|
Date.civil(2007,11,18) => 'Eid Al Istiqulal'}.each do |date, name|
|
51
51
|
assert_equal name, (Holidays.on(date, :ma, :informal)[0] || {})[:name]
|
52
|
-
end
|
52
|
+
end
|
data/definitions/mx.yaml
CHANGED
@@ -3,21 +3,21 @@
|
|
3
3
|
# Sources:
|
4
4
|
# - http://www.britishembassy.gov.uk/servlet/Front?pagename=OpenMarket/Xcelerate/ShowPage&c=Page&cid=1125561634963
|
5
5
|
# - http://www.usembassy-mexico.gov/eng/holidays.html
|
6
|
-
---
|
6
|
+
---
|
7
7
|
months:
|
8
|
-
1:
|
8
|
+
1:
|
9
9
|
- name: Año nuevo
|
10
10
|
regions: [mx]
|
11
11
|
mday: 1
|
12
12
|
- name: Dia de los Santos Reyes
|
13
13
|
regions: [mx]
|
14
14
|
mday: 6
|
15
|
-
2:
|
15
|
+
2:
|
16
16
|
- name: Día de la Constitución
|
17
17
|
week: 1
|
18
18
|
regions: [mx]
|
19
19
|
wday: 1
|
20
|
-
3:
|
20
|
+
3:
|
21
21
|
- name: Natalicio de Benito Juárez
|
22
22
|
week: 3
|
23
23
|
regions: [mx]
|
@@ -27,7 +27,7 @@ months:
|
|
27
27
|
regions: [mx]
|
28
28
|
mday: 30
|
29
29
|
type: informal
|
30
|
-
5:
|
30
|
+
5:
|
31
31
|
- name: Día del Trabajo
|
32
32
|
regions: [mx]
|
33
33
|
mday: 1
|
@@ -59,12 +59,12 @@ months:
|
|
59
59
|
- name: Día de la Independencia
|
60
60
|
regions: [mx]
|
61
61
|
mday: 16
|
62
|
-
10:
|
62
|
+
10:
|
63
63
|
- name: Día de la Raza
|
64
64
|
regions: [mx]
|
65
65
|
mday: 12
|
66
66
|
type: informal
|
67
|
-
11:
|
67
|
+
11:
|
68
68
|
- name: Todos los Santos
|
69
69
|
regions: [mx]
|
70
70
|
mday: 1
|
@@ -77,7 +77,7 @@ months:
|
|
77
77
|
week: 3
|
78
78
|
regions: [mx]
|
79
79
|
wday: 1
|
80
|
-
12:
|
80
|
+
12:
|
81
81
|
- name: Día de la Virgen de Guadalupe
|
82
82
|
regions: [mx]
|
83
83
|
mday: 12
|
@@ -93,8 +93,8 @@ months:
|
|
93
93
|
regions: [mx]
|
94
94
|
mday: 28
|
95
95
|
tests: |
|
96
|
-
{Date.civil(2007,1,1) => 'Año nuevo',
|
97
|
-
Date.civil(2007,2,5) => 'Día de la Constitución',
|
96
|
+
{Date.civil(2007,1,1) => 'Año nuevo',
|
97
|
+
Date.civil(2007,2,5) => 'Día de la Constitución',
|
98
98
|
Date.civil(2007,5,1) => 'Día del Trabajo',
|
99
99
|
Date.civil(2007,5,5) => 'Cinco de Mayo',
|
100
100
|
Date.civil(2007,9,16) => 'Día de la Independencia',
|
@@ -103,4 +103,4 @@ tests: |
|
|
103
103
|
Date.civil(2007,11,19) => 'Día de la Revolución',
|
104
104
|
Date.civil(2007,12,25) => 'Navidad'}.each do |date, name|
|
105
105
|
assert_equal name, (Holidays.on(date, :mx, :informal)[0] || {})[:name]
|
106
|
-
end
|
106
|
+
end
|
data/definitions/nerc.yaml
CHANGED
@@ -10,18 +10,18 @@ months:
|
|
10
10
|
- name: New Year's Day
|
11
11
|
regions: [nerc]
|
12
12
|
mday: 1
|
13
|
-
observed: to_monday_if_sunday
|
13
|
+
observed: to_monday_if_sunday(date)
|
14
14
|
5:
|
15
15
|
- name: Memorial Day
|
16
16
|
week: -1
|
17
17
|
regions: [nerc]
|
18
18
|
wday: 1
|
19
|
-
7:
|
19
|
+
7:
|
20
20
|
- name: Independence Day
|
21
21
|
regions: [nerc]
|
22
22
|
mday: 4
|
23
|
-
observed: to_monday_if_sunday
|
24
|
-
9:
|
23
|
+
observed: to_monday_if_sunday(date)
|
24
|
+
9:
|
25
25
|
- name: Labor Day
|
26
26
|
week: 1
|
27
27
|
regions: [nerc]
|
@@ -31,11 +31,11 @@ months:
|
|
31
31
|
week: 4
|
32
32
|
regions: [nerc]
|
33
33
|
wday: 4
|
34
|
-
12:
|
34
|
+
12:
|
35
35
|
- name: Christmas Day
|
36
36
|
regions: [nerc]
|
37
37
|
mday: 25
|
38
|
-
observed: to_monday_if_sunday
|
38
|
+
observed: to_monday_if_sunday(date)
|
39
39
|
methods:
|
40
40
|
tests: |
|
41
41
|
{Date.civil(2013,1,1) => 'New Year\'s Day',
|
data/definitions/nl.yaml
CHANGED
@@ -3,29 +3,33 @@
|
|
3
3
|
# Updated: 2014-04-17.
|
4
4
|
# Sources:
|
5
5
|
# - http://en.wikipedia.org/wiki/Public_holidays_in_the_Netherlands
|
6
|
-
# - http://www.buyusa.gov/netherlands/en/dutch_holidays.html
|
7
6
|
---
|
8
7
|
months:
|
9
8
|
0:
|
10
9
|
- name: Goede Vrijdag
|
11
10
|
regions: [nl]
|
12
|
-
function: easter(year)
|
11
|
+
function: easter(year)
|
12
|
+
function_modifier: -2
|
13
13
|
type: informal
|
14
|
-
- name: Pasen
|
14
|
+
- name: Eerste Pasen
|
15
15
|
regions: [nl]
|
16
16
|
function: easter(year)
|
17
|
-
- name: Pasen
|
17
|
+
- name: Tweede Pasen
|
18
18
|
regions: [nl]
|
19
|
-
function: easter(year)
|
19
|
+
function: easter(year)
|
20
|
+
function_modifier: 1
|
20
21
|
- name: Hemelvaartsdag
|
21
22
|
regions: [nl]
|
22
|
-
function: easter(year)
|
23
|
-
|
23
|
+
function: easter(year)
|
24
|
+
function_modifier: 39
|
25
|
+
- name: Eerste Pinksteren
|
24
26
|
regions: [nl]
|
25
|
-
function: easter(year)
|
26
|
-
|
27
|
+
function: easter(year)
|
28
|
+
function_modifier: 49
|
29
|
+
- name: Tweede Pinksteren
|
27
30
|
regions: [nl]
|
28
|
-
function: easter(year)
|
31
|
+
function: easter(year)
|
32
|
+
function_modifier: 50
|
29
33
|
1:
|
30
34
|
- name: Nieuwjaar
|
31
35
|
regions: [nl]
|
@@ -47,23 +51,23 @@ months:
|
|
47
51
|
regions: [nl]
|
48
52
|
mday: 5
|
49
53
|
type: informal
|
50
|
-
- name: Kerstmis
|
54
|
+
- name: Eerste Kerstmis
|
51
55
|
regions: [nl]
|
52
56
|
mday: 25
|
53
|
-
- name: Kerstmis
|
57
|
+
- name: Tweede Kerstmis
|
54
58
|
regions: [nl]
|
55
59
|
mday: 26
|
56
60
|
tests: |
|
57
61
|
{Date.civil(2008,1,1) => 'Nieuwjaar',
|
58
62
|
Date.civil(2008,3,21) => 'Goede Vrijdag',
|
59
|
-
Date.civil(2008,3,23) => 'Pasen',
|
60
|
-
Date.civil(2008,3,24) => 'Pasen',
|
63
|
+
Date.civil(2008,3,23) => 'Eerste Pasen',
|
64
|
+
Date.civil(2008,3,24) => 'Tweede Pasen',
|
61
65
|
Date.civil(2008,4,27) => 'Koningsdag',
|
62
66
|
Date.civil(2008,5,1) => 'Hemelvaartsdag', # Ascension, Easter+39
|
63
67
|
Date.civil(2008,5,5) => 'Bevrijdingsdag',
|
64
|
-
Date.civil(2008,5,11) => 'Pinksteren', # Pentecost, Easter+49
|
65
|
-
Date.civil(2008,5,12) => 'Pinksteren', # Pentecost, Easter+50
|
66
|
-
Date.civil(2008,12,25) => 'Kerstmis',
|
67
|
-
Date.civil(2008,12,26) => 'Kerstmis'}.each do |date, name|
|
68
|
+
Date.civil(2008,5,11) => 'Eerste Pinksteren', # Pentecost, Easter+49
|
69
|
+
Date.civil(2008,5,12) => 'Tweede Pinksteren', # Pentecost, Easter+50
|
70
|
+
Date.civil(2008,12,25) => 'Eerste Kerstmis',
|
71
|
+
Date.civil(2008,12,26) => 'Tweede Kerstmis'}.each do |date, name|
|
68
72
|
assert_equal name, (Holidays.on(date, :nl, :informal)[0] || {})[:name]
|
69
73
|
end
|
data/definitions/no.yaml
CHANGED
@@ -4,38 +4,46 @@
|
|
4
4
|
# Sources:
|
5
5
|
# - http://no.wikipedia.org/wiki/Offentlig_fridag
|
6
6
|
# - http://www.timeanddate.com/norsk/kalender.html
|
7
|
-
---
|
7
|
+
---
|
8
8
|
months:
|
9
9
|
0:
|
10
10
|
- name: Fastelavn
|
11
11
|
regions: ["no"]
|
12
|
-
function: easter(year)
|
12
|
+
function: easter(year)
|
13
|
+
function_modifier: -49
|
13
14
|
type: informal
|
14
15
|
- name: Palmesøndag
|
15
16
|
regions: ["no"]
|
16
|
-
function: easter(year)
|
17
|
+
function: easter(year)
|
18
|
+
function_modifier: -7
|
17
19
|
- name: Skjærtorsdag
|
18
20
|
regions: ["no"]
|
19
|
-
function: easter(year)
|
21
|
+
function: easter(year)
|
22
|
+
function_modifier: -3
|
20
23
|
- name: Langfredag
|
21
24
|
regions: ["no"]
|
22
|
-
function: easter(year)
|
25
|
+
function: easter(year)
|
26
|
+
function_modifier: -2
|
23
27
|
- name: 1. påskedag
|
24
28
|
regions: ["no"]
|
25
29
|
function: easter(year)
|
26
30
|
- name: 2. påskedag
|
27
31
|
regions: ["no"]
|
28
|
-
function: easter(year)
|
32
|
+
function: easter(year)
|
33
|
+
function_modifier: 1
|
29
34
|
- name: Kristi Himmelfartsdag
|
30
35
|
regions: ["no"]
|
31
|
-
function: easter(year)
|
36
|
+
function: easter(year)
|
37
|
+
function_modifier: 39
|
32
38
|
- name: 1. pinsedag
|
33
39
|
regions: ["no"]
|
34
|
-
function: easter(year)
|
40
|
+
function: easter(year)
|
41
|
+
function_modifier: 49
|
35
42
|
- name: 2. pinsedag
|
36
43
|
regions: ["no"]
|
37
|
-
function: easter(year)
|
38
|
-
|
44
|
+
function: easter(year)
|
45
|
+
function_modifier: 50
|
46
|
+
1:
|
39
47
|
- name: Nyttårsdag
|
40
48
|
regions: ["no"]
|
41
49
|
mday: 1
|
@@ -79,4 +87,4 @@ tests: |
|
|
79
87
|
Date.civil(2010,5,23) => '1. pinsedag',
|
80
88
|
Date.civil(2010,5,24) => '2. pinsedag'}.each do |date, name|
|
81
89
|
assert_equal name, (Holidays.on(date, :no, :informal)[0] || {})[:name]
|
82
|
-
end
|
90
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# Informal North American holiday definitions for the Ruby Holiday gem.
|
2
2
|
# Updated 2008-11-22.
|
3
|
-
---
|
3
|
+
---
|
4
4
|
months:
|
5
|
-
2:
|
5
|
+
2:
|
6
6
|
- name: Groundhog Day
|
7
7
|
regions: [us, ca]
|
8
8
|
mday: 2
|
@@ -11,12 +11,12 @@ months:
|
|
11
11
|
regions: [us, ca]
|
12
12
|
mday: 14
|
13
13
|
type: informal
|
14
|
-
3:
|
14
|
+
3:
|
15
15
|
- name: St. Patrick's Day
|
16
16
|
regions: [us, ca]
|
17
17
|
mday: 17
|
18
18
|
type: informal
|
19
|
-
4:
|
19
|
+
4:
|
20
20
|
- name: April Fool's Day
|
21
21
|
regions: [us, ca]
|
22
22
|
mday: 1
|
@@ -25,7 +25,7 @@ months:
|
|
25
25
|
regions: [us, ca]
|
26
26
|
mday: 22
|
27
27
|
type: informal
|
28
|
-
5:
|
28
|
+
5:
|
29
29
|
- name: Mother's Day
|
30
30
|
week: 2
|
31
31
|
regions: [us, ca]
|
@@ -42,7 +42,7 @@ months:
|
|
42
42
|
regions: [us, ca]
|
43
43
|
wday: 0
|
44
44
|
type: informal
|
45
|
-
10:
|
45
|
+
10:
|
46
46
|
- name: Halloween
|
47
47
|
regions: [us, ca]
|
48
48
|
mday: 31
|