wombleton-holidays 0.9.6
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/.gitignore +3 -0
- data/CHANGELOG +22 -0
- data/LICENSE +21 -0
- data/README.rdoc +77 -0
- data/REFERENCES +16 -0
- data/VERSION +1 -0
- data/data/SYNTAX +111 -0
- data/data/au.yaml +111 -0
- data/data/build_defs.rb +152 -0
- data/data/ca.yaml +141 -0
- data/data/cz.yaml +68 -0
- data/data/de.yaml +111 -0
- data/data/dk.yaml +117 -0
- data/data/es.yaml +161 -0
- data/data/fr.yaml +70 -0
- data/data/gb.yaml +106 -0
- data/data/ie.yaml +58 -0
- data/data/index.yaml +26 -0
- data/data/is.yaml +136 -0
- data/data/it.yaml +66 -0
- data/data/mx.yaml +106 -0
- data/data/nl.yaml +67 -0
- data/data/no.yaml +82 -0
- data/data/north_america_informal.yaml +49 -0
- data/data/nyse.yaml +63 -0
- data/data/nz.yaml +141 -0
- data/data/pt.yaml +85 -0
- data/data/se.yaml +91 -0
- data/data/united_nations.yaml +188 -0
- data/data/ups.yaml +56 -0
- data/data/us.yaml +81 -0
- data/data/za.yaml +78 -0
- data/holidays.gemspec +16 -0
- data/lib/holidays/MANIFEST +28 -0
- data/lib/holidays/au.rb +43 -0
- data/lib/holidays/ca.rb +69 -0
- data/lib/holidays/cz.rb +36 -0
- data/lib/holidays/de.rb +51 -0
- data/lib/holidays/dk.rb +48 -0
- data/lib/holidays/es.rb +53 -0
- data/lib/holidays/europe.rb +236 -0
- data/lib/holidays/fr.rb +37 -0
- data/lib/holidays/gb.rb +41 -0
- data/lib/holidays/ie.rb +33 -0
- data/lib/holidays/is.rb +62 -0
- data/lib/holidays/it.rb +36 -0
- data/lib/holidays/mx.rb +52 -0
- data/lib/holidays/nl.rb +37 -0
- data/lib/holidays/no.rb +40 -0
- data/lib/holidays/north_america.rb +108 -0
- data/lib/holidays/nyse.rb +33 -0
- data/lib/holidays/nz.rb +69 -0
- data/lib/holidays/pt.rb +38 -0
- data/lib/holidays/scandinavia.rb +115 -0
- data/lib/holidays/se.rb +53 -0
- data/lib/holidays/united_nations.rb +25 -0
- data/lib/holidays/ups.rb +32 -0
- data/lib/holidays/us.rb +49 -0
- data/lib/holidays/za.rb +36 -0
- data/lib/holidays.rb +408 -0
- data/rakefile.rb +103 -0
- data/test/defs/test_defs_au.rb +35 -0
- data/test/defs/test_defs_ca.rb +28 -0
- data/test/defs/test_defs_cz.rb +25 -0
- data/test/defs/test_defs_de.rb +48 -0
- data/test/defs/test_defs_dk.rb +29 -0
- data/test/defs/test_defs_es.rb +56 -0
- data/test/defs/test_defs_europe.rb +277 -0
- data/test/defs/test_defs_fr.rb +25 -0
- data/test/defs/test_defs_gb.rb +35 -0
- data/test/defs/test_defs_ie.rb +20 -0
- data/test/defs/test_defs_is.rb +32 -0
- data/test/defs/test_defs_it.rb +24 -0
- data/test/defs/test_defs_mx.rb +21 -0
- data/test/defs/test_defs_nl.rb +23 -0
- data/test/defs/test_defs_no.rb +28 -0
- data/test/defs/test_defs_north_america.rb +53 -0
- data/test/defs/test_defs_nyse.rb +21 -0
- data/test/defs/test_defs_nz.rb +21 -0
- data/test/defs/test_defs_pt.rb +31 -0
- data/test/defs/test_defs_scandinavia.rb +75 -0
- data/test/defs/test_defs_se.rb +32 -0
- data/test/defs/test_defs_ups.rb +20 -0
- data/test/defs/test_defs_us.rb +22 -0
- data/test/defs/test_defs_za.rb +24 -0
- data/test/test_date.rb +101 -0
- data/test/test_helper.rb +11 -0
- data/test/test_holidays.rb +117 -0
- data/test/test_multiple_regions.rb +20 -0
- metadata +172 -0
data/data/cz.yaml
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Czech holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2010-01-20.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://cs.wikipedia.org/wiki/%C4%8Cesk%C3%BD_st%C3%A1tn%C3%AD_sv%C3%A1tek
|
|
6
|
+
# - http://www.mpsv.cz/cs/74
|
|
7
|
+
---
|
|
8
|
+
months:
|
|
9
|
+
0:
|
|
10
|
+
- name: Velikonoční pondělí
|
|
11
|
+
regions: [cz]
|
|
12
|
+
function: easter(year)+1
|
|
13
|
+
1:
|
|
14
|
+
- name: Den obnovy samostatného českého státu
|
|
15
|
+
regions: [cz]
|
|
16
|
+
mday: 1
|
|
17
|
+
5:
|
|
18
|
+
- name: Svátek práce
|
|
19
|
+
regions: [cz]
|
|
20
|
+
mday: 1
|
|
21
|
+
- name: Den vítězství
|
|
22
|
+
regions: [cz]
|
|
23
|
+
mday: 8
|
|
24
|
+
7:
|
|
25
|
+
- name: Den slovanských věrozvěstů Cyrila a Metoděje
|
|
26
|
+
regions: [cz]
|
|
27
|
+
mday: 5
|
|
28
|
+
- name: Den upálení mistra Jana Husa
|
|
29
|
+
regions: [cz]
|
|
30
|
+
mday: 6
|
|
31
|
+
9:
|
|
32
|
+
- name: Den české státnosti
|
|
33
|
+
regions: [cz]
|
|
34
|
+
mday: 28
|
|
35
|
+
10:
|
|
36
|
+
- name: Den vzniku samostatného československého státu
|
|
37
|
+
regions: [cz]
|
|
38
|
+
mday: 28
|
|
39
|
+
11:
|
|
40
|
+
- name: Den boje za svobodu a demokracii
|
|
41
|
+
regions: [cz]
|
|
42
|
+
mday: 17
|
|
43
|
+
12:
|
|
44
|
+
- name: Štědrý den
|
|
45
|
+
regions: [cz]
|
|
46
|
+
mday: 24
|
|
47
|
+
- name: 1. svátek vánoční
|
|
48
|
+
regions: [cz]
|
|
49
|
+
mday: 25
|
|
50
|
+
- name: 2. svátek vánoční
|
|
51
|
+
regions: [cz]
|
|
52
|
+
mday: 26
|
|
53
|
+
tests: |
|
|
54
|
+
{Date.civil(2010,1,1) => 'Den obnovy samostatného českého státu',
|
|
55
|
+
Date.civil(2010,4,5) => 'Velikonoční pondělí',
|
|
56
|
+
Date.civil(2010,5,1) => 'Svátek práce',
|
|
57
|
+
Date.civil(2010,5,8) => 'Den vítězství',
|
|
58
|
+
Date.civil(2010,7,5) => 'Den slovanských věrozvěstů Cyrila a Metoděje',
|
|
59
|
+
Date.civil(2010,7,6) => 'Den upálení mistra Jana Husa',
|
|
60
|
+
Date.civil(2010,9,28) => 'Den české státnosti',
|
|
61
|
+
Date.civil(2010,10,28) => 'Den vzniku samostatného československého státu',
|
|
62
|
+
Date.civil(2010,11,17) => 'Den boje za svobodu a demokracii',
|
|
63
|
+
Date.civil(2010,12,24) => 'Štědrý den',
|
|
64
|
+
Date.civil(2010,12,25) => '1. svátek vánoční',
|
|
65
|
+
Date.civil(2010,12,26) => '2. svátek vánoční'}.each do |date, name|
|
|
66
|
+
assert_equal name, (Holidays.on(date, :cz, :informal)[0] || {})[:name]
|
|
67
|
+
end
|
|
68
|
+
|
data/data/de.yaml
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# German holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2009-11-05.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Holidays_in_Germany
|
|
6
|
+
# - http://www.timeanddate.com/calendar/index.html?country=8
|
|
7
|
+
# - http://www.germany.info/relaunch/welcome/travel/holidays.html
|
|
8
|
+
---
|
|
9
|
+
months:
|
|
10
|
+
0:
|
|
11
|
+
- name: Karfreitag
|
|
12
|
+
regions: [de]
|
|
13
|
+
function: easter(year)-2
|
|
14
|
+
- name: Ostermontag
|
|
15
|
+
regions: [de]
|
|
16
|
+
function: easter(year)+1
|
|
17
|
+
- name: Christi Himmelfahrt
|
|
18
|
+
regions: [de]
|
|
19
|
+
function: easter(year)+39
|
|
20
|
+
- name: Pfingstmontag
|
|
21
|
+
regions: [de]
|
|
22
|
+
function: easter(year)+50
|
|
23
|
+
- name: Fronleichnam
|
|
24
|
+
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl]
|
|
25
|
+
function: easter(year)+60
|
|
26
|
+
1:
|
|
27
|
+
- name: Neujahrstag
|
|
28
|
+
regions: [de]
|
|
29
|
+
mday: 1
|
|
30
|
+
- name: Heilige Drei Könige
|
|
31
|
+
regions: [de_bw, de_by, de_st]
|
|
32
|
+
mday: 6
|
|
33
|
+
5:
|
|
34
|
+
- name: Tag der Arbeit
|
|
35
|
+
regions: [de]
|
|
36
|
+
mday: 1
|
|
37
|
+
8:
|
|
38
|
+
- name: Mariä Himmelfahrt
|
|
39
|
+
regions: [de_by, de_sl]
|
|
40
|
+
mday: 15
|
|
41
|
+
10:
|
|
42
|
+
- name: Tag der Deutschen Einheit
|
|
43
|
+
regions: [de]
|
|
44
|
+
mday: 3
|
|
45
|
+
- name: Reformationstag
|
|
46
|
+
regions: [de_bb, de_mv, de_sn, de_st, de_th]
|
|
47
|
+
mday: 31
|
|
48
|
+
11:
|
|
49
|
+
- name: Allerheiligen
|
|
50
|
+
regions: [de_bw, de_by, de_nw, de_rp, de_sl]
|
|
51
|
+
mday: 1
|
|
52
|
+
- name: Buß- und Bettag
|
|
53
|
+
regions: [de_sn]
|
|
54
|
+
function: de_buss_und_bettag(year)
|
|
55
|
+
12:
|
|
56
|
+
- name: 1. Weihnachtstag
|
|
57
|
+
regions: [de]
|
|
58
|
+
mday: 25
|
|
59
|
+
- name: 2. Weihnachtstag
|
|
60
|
+
regions: [de]
|
|
61
|
+
mday: 26
|
|
62
|
+
methods:
|
|
63
|
+
de_buss_und_bettag: |
|
|
64
|
+
# Germany: Wednesday before November 23
|
|
65
|
+
def self.de_buss_und_bettag(year)
|
|
66
|
+
date = Date.civil(year,11,23)
|
|
67
|
+
if date.wday > 3
|
|
68
|
+
date -= (date.wday - 3)
|
|
69
|
+
else
|
|
70
|
+
date -= (date.wday + 4)
|
|
71
|
+
end
|
|
72
|
+
date
|
|
73
|
+
end
|
|
74
|
+
tests: |
|
|
75
|
+
{Date.civil(2009,1,1) => 'Neujahrstag',
|
|
76
|
+
Date.civil(2009,4,10) => 'Karfreitag',
|
|
77
|
+
Date.civil(2009,4,13) => 'Ostermontag',
|
|
78
|
+
Date.civil(2009,5,1) => 'Tag der Arbeit',
|
|
79
|
+
Date.civil(2009,5,21) => 'Christi Himmelfahrt',
|
|
80
|
+
Date.civil(2009,6,1) => 'Pfingstmontag',
|
|
81
|
+
Date.civil(2009,10,3) => 'Tag der Deutschen Einheit',
|
|
82
|
+
Date.civil(2009,12,25) => '1. Weihnachtstag',
|
|
83
|
+
Date.civil(2009,12,26) => '2. Weihnachtstag'}.each do |date, name|
|
|
84
|
+
assert_equal name, (Holidays.on(date, :de, :informal)[0] || {})[:name]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
[:de_bw, :de_by, :de_st, :de_].each do |r|
|
|
88
|
+
assert_equal 'Heilige Drei Könige', Date.civil(2009,1,6).holidays(r)[0][:name]
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_].each do |r|
|
|
92
|
+
assert_equal 'Fronleichnam', Date.civil(2009,6,11).holidays(r)[0][:name]
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
[:de_by, :de_sl, :de_].each do |r|
|
|
96
|
+
assert_equal 'Mariä Himmelfahrt', Date.civil(2009,8,15).holidays(r)[0][:name]
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
[:de_bb, :de_mv, :de_sn, :de_st, :de_th, :de_].each do |r|
|
|
100
|
+
assert_equal 'Reformationstag', Date.civil(2009,10,31).holidays(r)[0][:name]
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
[:de_bw, :de_by, :de_nw, :de_rp, :de_sl, :de_].each do |r|
|
|
104
|
+
assert_equal 'Allerheiligen', Date.civil(2009,11,1).holidays(r)[0][:name]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Repentance Day
|
|
108
|
+
assert_equal 'Buß- und Bettag', Date.civil(2004,11,17).holidays(:de_sn)[0][:name]
|
|
109
|
+
assert_equal 'Buß- und Bettag', Date.civil(2005,11,16).holidays(:de_sn)[0][:name]
|
|
110
|
+
assert_equal 'Buß- und Bettag', Date.civil(2006,11,22).holidays(:de_sn)[0][:name]
|
|
111
|
+
assert_equal 'Buß- und Bettag', Date.civil(2009,11,18).holidays(:de_sn)[0][:name]
|
data/data/dk.yaml
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Danish holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-22.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Holidays_in_Denmark
|
|
6
|
+
# - http://www.amblondon.um.dk/en/menu/AboutDenmark/PublicHolidaysInDK/PublicHolidaysinDenmark-until2010.htm
|
|
7
|
+
# - http://borger.dk/forside/kirke-og-tro/folkekirken/officielle-helligdage
|
|
8
|
+
---
|
|
9
|
+
months:
|
|
10
|
+
0:
|
|
11
|
+
- name: Fastelavn
|
|
12
|
+
regions: [dk]
|
|
13
|
+
function: easter(year)-49
|
|
14
|
+
type: informal
|
|
15
|
+
- name: Palmesøndag
|
|
16
|
+
regions: [dk]
|
|
17
|
+
function: easter(year)-7
|
|
18
|
+
- name: Skærtorsdag
|
|
19
|
+
regions: [dk]
|
|
20
|
+
function: easter(year)-3
|
|
21
|
+
- name: Langfredag
|
|
22
|
+
regions: [dk]
|
|
23
|
+
function: easter(year)-2
|
|
24
|
+
- name: Påskedag
|
|
25
|
+
regions: [dk]
|
|
26
|
+
function: easter(year)
|
|
27
|
+
- name: 2. påskedag
|
|
28
|
+
regions: [dk]
|
|
29
|
+
function: easter(year)+1
|
|
30
|
+
- name: Store Bededag
|
|
31
|
+
regions: [dk]
|
|
32
|
+
function: easter(year)+26
|
|
33
|
+
- name: Kristi Himmelfartsdag
|
|
34
|
+
regions: [dk]
|
|
35
|
+
function: easter(year)+39
|
|
36
|
+
- name: Pinsedag
|
|
37
|
+
regions: [dk]
|
|
38
|
+
function: easter(year)+49
|
|
39
|
+
- name: 2. Pinsedag
|
|
40
|
+
regions: [dk]
|
|
41
|
+
function: easter(year)+50
|
|
42
|
+
1:
|
|
43
|
+
- name: Nytårsdag
|
|
44
|
+
regions: [dk]
|
|
45
|
+
mday: 1
|
|
46
|
+
4:
|
|
47
|
+
- name: 1. april
|
|
48
|
+
regions: [dk]
|
|
49
|
+
mday: 1
|
|
50
|
+
type: informal
|
|
51
|
+
- name: Danmarks besættelse
|
|
52
|
+
regions: [dk]
|
|
53
|
+
mday: 9
|
|
54
|
+
type: informal
|
|
55
|
+
- name: Dronningens fødselsdag
|
|
56
|
+
regions: [dk]
|
|
57
|
+
mday: 16
|
|
58
|
+
type: informal
|
|
59
|
+
5:
|
|
60
|
+
- name: Arbejdernes kampdag
|
|
61
|
+
regions: [dk]
|
|
62
|
+
mday: 1
|
|
63
|
+
- name: Danmarks befrielse
|
|
64
|
+
regions: [dk]
|
|
65
|
+
mday: 5
|
|
66
|
+
type: informal
|
|
67
|
+
6:
|
|
68
|
+
- name: Grundlovsdag
|
|
69
|
+
regions: [dk]
|
|
70
|
+
mday: 5
|
|
71
|
+
- name: Valdemarsdag og Genforeningsdag
|
|
72
|
+
regions: [dk]
|
|
73
|
+
mday: 15
|
|
74
|
+
type: informal
|
|
75
|
+
- name: Sankt Hans aften
|
|
76
|
+
regions: [dk]
|
|
77
|
+
mday: 23
|
|
78
|
+
type: informal
|
|
79
|
+
11:
|
|
80
|
+
- name: Mortensaften
|
|
81
|
+
regions: [dk]
|
|
82
|
+
mday: 10
|
|
83
|
+
type: informal
|
|
84
|
+
12:
|
|
85
|
+
- name: Sankt Lucia
|
|
86
|
+
regions: [dk]
|
|
87
|
+
mday: 13
|
|
88
|
+
type: informal
|
|
89
|
+
- name: Juleaftensdag
|
|
90
|
+
regions: [dk]
|
|
91
|
+
mday: 24
|
|
92
|
+
- name: 1. juledag
|
|
93
|
+
regions: [dk]
|
|
94
|
+
mday: 25
|
|
95
|
+
- name: 2. juledag
|
|
96
|
+
regions: [dk]
|
|
97
|
+
mday: 26
|
|
98
|
+
tests: |
|
|
99
|
+
{Date.civil(2007,1,1) => 'Nytårsdag',
|
|
100
|
+
Date.civil(2007,2,18) => 'Fastelavn',
|
|
101
|
+
Date.civil(2007,4,9) => 'Danmarks besættelse',
|
|
102
|
+
Date.civil(2007,4,16) => 'Dronningens fødselsdag',
|
|
103
|
+
Date.civil(2007,4,5) => 'Skærtorsdag',
|
|
104
|
+
Date.civil(2007,4,6) => 'Langfredag',
|
|
105
|
+
Date.civil(2007,4,8) => 'Påskedag',
|
|
106
|
+
Date.civil(2007,4,9) => '2. påskedag',
|
|
107
|
+
Date.civil(2007,5,1) => 'Arbejdernes kampdag',
|
|
108
|
+
Date.civil(2007,5,4) => 'Store Bededag',
|
|
109
|
+
Date.civil(2007,5,17) => 'Kristi Himmelfartsdag',
|
|
110
|
+
Date.civil(2007,5,27) => 'Pinsedag',
|
|
111
|
+
Date.civil(2007,5,28) => '2. Pinsedag',
|
|
112
|
+
Date.civil(2007,6,5) => 'Grundlovsdag',
|
|
113
|
+
Date.civil(2007,12,24) => 'Juleaftensdag',
|
|
114
|
+
Date.civil(2007,12,25) => '1. juledag',
|
|
115
|
+
Date.civil(2007,12,26) => '2. juledag'}.each do |date, name|
|
|
116
|
+
assert_equal name, (Holidays.on(date, :dk, :informal)[0] || {})[:name]
|
|
117
|
+
end
|
data/data/es.yaml
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Spanish holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Including the Balearic Islands and the Canary Islands.
|
|
4
|
+
#
|
|
5
|
+
# Updated: 2008-11-29.
|
|
6
|
+
#
|
|
7
|
+
# Sources:
|
|
8
|
+
# - http://en.wikipedia.org/wiki/Public_holidays_in_Spain
|
|
9
|
+
# - http://www.timeanddate.com/calendar/index.html?country=16
|
|
10
|
+
#
|
|
11
|
+
# Notes:
|
|
12
|
+
# - Valencia is encoded as both es_v and es_vc
|
|
13
|
+
---
|
|
14
|
+
months:
|
|
15
|
+
0:
|
|
16
|
+
- name: Jueves Santo
|
|
17
|
+
regions: [es_pv, es_ct, es_na, es_v, es_vc]
|
|
18
|
+
function: easter(year)-3
|
|
19
|
+
- name: Viernes Santo
|
|
20
|
+
regions: [es]
|
|
21
|
+
function: easter(year)-2
|
|
22
|
+
- name: Lunes de Pascua
|
|
23
|
+
regions: [es_pv, es_ct, es_na, es_v, es_vc]
|
|
24
|
+
function: easter(year)+1
|
|
25
|
+
1:
|
|
26
|
+
- name: Año Nuevo
|
|
27
|
+
regions: [es]
|
|
28
|
+
mday: 1
|
|
29
|
+
- name: Día de Reyes
|
|
30
|
+
regions: [es]
|
|
31
|
+
mday: 6
|
|
32
|
+
2:
|
|
33
|
+
- name: Día de Andalucía
|
|
34
|
+
regions: [es_an]
|
|
35
|
+
mday: 28
|
|
36
|
+
3:
|
|
37
|
+
- name: Día de las Islas Baleares
|
|
38
|
+
regions: [es_ib]
|
|
39
|
+
mday: 1
|
|
40
|
+
- name: San José
|
|
41
|
+
regions: [es_v, es_vc, es_cm, es_mu, es_m]
|
|
42
|
+
mday: 19
|
|
43
|
+
4:
|
|
44
|
+
- name: San Jorge
|
|
45
|
+
regions: [es_ar, es_cl]
|
|
46
|
+
mday: 23
|
|
47
|
+
- name: Día de Aragón
|
|
48
|
+
regions: [es_ar]
|
|
49
|
+
mday: 23
|
|
50
|
+
5:
|
|
51
|
+
- name: Día del Trabajador
|
|
52
|
+
regions: [es]
|
|
53
|
+
mday: 1
|
|
54
|
+
- name: Fiesta de la Comunidad
|
|
55
|
+
regions: [es_m]
|
|
56
|
+
mday: 2
|
|
57
|
+
- name: Día de las Canarias
|
|
58
|
+
regions: [es_cn]
|
|
59
|
+
mday: 30
|
|
60
|
+
- name: Día de la Región Castilla-La Mancha
|
|
61
|
+
regions: [es_cm]
|
|
62
|
+
mday: 31
|
|
63
|
+
6:
|
|
64
|
+
- name: Día de la Región de Murcia
|
|
65
|
+
regions: [es_mu]
|
|
66
|
+
mday: 9
|
|
67
|
+
- name: Día de La Rioja
|
|
68
|
+
regions: [es_lo]
|
|
69
|
+
mday: 9
|
|
70
|
+
7:
|
|
71
|
+
- name: Santiago Apostol
|
|
72
|
+
regions: [es_ga]
|
|
73
|
+
mday: 23
|
|
74
|
+
8:
|
|
75
|
+
- name: Asunción
|
|
76
|
+
regions: [es]
|
|
77
|
+
mday: 15
|
|
78
|
+
9:
|
|
79
|
+
- name: Día de Ceuta
|
|
80
|
+
regions: [es_ce]
|
|
81
|
+
mday: 2
|
|
82
|
+
- name: Día de Asturias
|
|
83
|
+
regions: [es_o]
|
|
84
|
+
mday: 8
|
|
85
|
+
- name: Día de Extremadura
|
|
86
|
+
regions: [es_ex]
|
|
87
|
+
mday: 8
|
|
88
|
+
- name: Fiesta Nacional de Cataluña
|
|
89
|
+
regions: [es_ct]
|
|
90
|
+
mday: 11
|
|
91
|
+
10:
|
|
92
|
+
- name: Día de Valencia
|
|
93
|
+
regions: [es_vc, es_v]
|
|
94
|
+
mday: 9
|
|
95
|
+
- name: Día de la Hispanidad
|
|
96
|
+
regions: [es]
|
|
97
|
+
mday: 12
|
|
98
|
+
11:
|
|
99
|
+
- name: Todos los Santos
|
|
100
|
+
regions: [es]
|
|
101
|
+
mday: 1
|
|
102
|
+
12:
|
|
103
|
+
- name: Día de la Constitución
|
|
104
|
+
regions: [es]
|
|
105
|
+
mday: 6
|
|
106
|
+
- name: Inmaculada Concepción
|
|
107
|
+
regions: [es]
|
|
108
|
+
mday: 8
|
|
109
|
+
- name: Navidad del Señor
|
|
110
|
+
regions: [es]
|
|
111
|
+
mday: 25
|
|
112
|
+
- name: San Esteban
|
|
113
|
+
regions: [es_ib, es_ct]
|
|
114
|
+
mday: 26
|
|
115
|
+
tests: |
|
|
116
|
+
{Date.civil(2009,1,1) => 'Año Nuevo',
|
|
117
|
+
Date.civil(2009,1,6) => 'Día de Reyes',
|
|
118
|
+
Date.civil(2009,4,10) => 'Viernes Santo',
|
|
119
|
+
Date.civil(2009,5,1) => 'Día del Trabajador',
|
|
120
|
+
Date.civil(2009,8,15) => 'Asunción',
|
|
121
|
+
Date.civil(2009,10,12) => 'Día de la Hispanidad',
|
|
122
|
+
Date.civil(2009,11,1) => 'Todos los Santos',
|
|
123
|
+
Date.civil(2009,12,6) => 'Día de la Constitución',
|
|
124
|
+
Date.civil(2009,12,8) => 'Inmaculada Concepción',
|
|
125
|
+
Date.civil(2009,12,25) => 'Navidad del Señor'}.each do |date, name|
|
|
126
|
+
assert_equal name, (Holidays.on(date, :es, :informal)[0] || {})[:name]
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
[:es_pv, :es_ct, :es_na, :es_v, :es_vc, :es_].each do |r|
|
|
130
|
+
assert_equal 'Jueves Santo', Date.civil(2009,4,9).holidays(r)[0][:name]
|
|
131
|
+
assert_equal 'Lunes de Pascua', Date.civil(2009,4,13).holidays(r)[0][:name]
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
[:es_v, :es_vc, :es_cm, :es_mu, :es_m, :es_].each do |r|
|
|
135
|
+
assert_equal 'San José', Date.civil(2009,3,19).holidays(r)[0][:name]
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
[:es_ar, :es_cl, :es_].each do |r|
|
|
139
|
+
assert_equal 'San Jorge', Date.civil(2009,4,23).holidays(r)[0][:name]
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
[:es_vc, :es_v, :es_].each do |r|
|
|
143
|
+
assert_equal 'Día de Valencia', Date.civil(2009,10,9).holidays(r)[0][:name]
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
[:es_ib, :es_ct, :es_].each do |r|
|
|
147
|
+
assert_equal 'San Esteban', Date.civil(2009,12,26).holidays(r)[0][:name]
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
assert_equal 'Día de Andalucía', Date.civil(2009,2,28).holidays(:es_an)[0][:name]
|
|
151
|
+
assert_equal 'Día de las Islas Baleares', Date.civil(2009,3,1).holidays(:es_ib)[0][:name]
|
|
152
|
+
assert_equal 'Fiesta de la Comunidad', Date.civil(2006,5,2).holidays(:es_m)[0][:name]
|
|
153
|
+
assert_equal 'Día de las Canarias', Date.civil(2006,5,30).holidays(:es_cn)[0][:name]
|
|
154
|
+
assert_equal 'Día de la Región Castilla-La Mancha', Date.civil(2009,5,31).holidays(:es_cm)[0][:name]
|
|
155
|
+
assert_equal 'Día de la Región de Murcia', Date.civil(2009,6,9).holidays(:es_mu)[0][:name]
|
|
156
|
+
assert_equal 'Día de La Rioja', Date.civil(2009,6,9).holidays(:es_lo)[0][:name]
|
|
157
|
+
assert_equal 'Santiago Apostol', Date.civil(2009,7,23).holidays(:es_ga)[0][:name]
|
|
158
|
+
assert_equal 'Día de Ceuta', Date.civil(2009,9,2).holidays(:es_ce)[0][:name]
|
|
159
|
+
assert_equal 'Día de Asturias', Date.civil(2009,9,8).holidays(:es_o)[0][:name]
|
|
160
|
+
assert_equal 'Día de Extremadura', Date.civil(2009,9,8).holidays(:es_ex)[0][:name]
|
|
161
|
+
assert_equal 'Fiesta Nacional de Cataluña', Date.civil(2009,9,11).holidays(:es_ct)[0][:name]
|
data/data/fr.yaml
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# French holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-2*.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Holidays_in_France
|
|
6
|
+
# - http://riviera.angloinfo.com/information/1/pub_hols.asp
|
|
7
|
+
---
|
|
8
|
+
months:
|
|
9
|
+
0:
|
|
10
|
+
- name: Pâques
|
|
11
|
+
regions: [fr]
|
|
12
|
+
function: easter(year)
|
|
13
|
+
- name: Lundi de Pâques
|
|
14
|
+
regions: [fr]
|
|
15
|
+
function: easter(year)+1
|
|
16
|
+
- name: Ascension
|
|
17
|
+
regions: [fr]
|
|
18
|
+
function: easter(year)+39
|
|
19
|
+
- name: Pentecôte
|
|
20
|
+
regions: [fr]
|
|
21
|
+
function: easter(year)+49
|
|
22
|
+
- name: Lundi de Pentecôte
|
|
23
|
+
regions: [fr]
|
|
24
|
+
function: easter(year)+50
|
|
25
|
+
1:
|
|
26
|
+
- name: Jour de l'an
|
|
27
|
+
regions: [fr]
|
|
28
|
+
mday: 1
|
|
29
|
+
5:
|
|
30
|
+
- name: Fête du travail
|
|
31
|
+
regions: [fr]
|
|
32
|
+
mday: 1
|
|
33
|
+
- name: Victoire 1945
|
|
34
|
+
regions: [fr]
|
|
35
|
+
mday: 8
|
|
36
|
+
7:
|
|
37
|
+
- name: Fête nationale
|
|
38
|
+
regions: [fr]
|
|
39
|
+
mday: 14
|
|
40
|
+
8:
|
|
41
|
+
- name: Assomption
|
|
42
|
+
regions: [fr]
|
|
43
|
+
mday: 15
|
|
44
|
+
11:
|
|
45
|
+
- name: Toussaint
|
|
46
|
+
regions: [fr]
|
|
47
|
+
mday: 1
|
|
48
|
+
- name: Armistice 1918
|
|
49
|
+
regions: [fr]
|
|
50
|
+
mday: 11
|
|
51
|
+
12:
|
|
52
|
+
- name: Nöel
|
|
53
|
+
regions: [fr]
|
|
54
|
+
mday: 25
|
|
55
|
+
tests: |
|
|
56
|
+
{Date.civil(2007,1,1) => 'Jour de l\'an',
|
|
57
|
+
Date.civil(2007,4,8) => 'Pâques',
|
|
58
|
+
Date.civil(2007,4,9) => 'Lundi de Pâques',
|
|
59
|
+
Date.civil(2007,5,1) => 'Fête du travail',
|
|
60
|
+
Date.civil(2007,5,8) => 'Victoire 1945',
|
|
61
|
+
Date.civil(2007,5,17) => 'Ascension',
|
|
62
|
+
Date.civil(2007,5,27) => 'Pentecôte',
|
|
63
|
+
Date.civil(2007,5,28) => 'Lundi de Pentecôte',
|
|
64
|
+
Date.civil(2007,7,14) => 'Fête nationale',
|
|
65
|
+
Date.civil(2007,8,15) => 'Assomption',
|
|
66
|
+
Date.civil(2007,11,1) => 'Toussaint',
|
|
67
|
+
Date.civil(2007,11,11) => 'Armistice 1918',
|
|
68
|
+
Date.civil(2007,12,25) => 'Nöel'}.each do |date, name|
|
|
69
|
+
assert_equal name, (Holidays.on(date, :fr, :informal)[0] || {})[:name]
|
|
70
|
+
end
|
data/data/gb.yaml
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Great Britain/United Kingdom holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Including England, Wales, Scotland, N. Ireland, the Isle of Man, Guernsey
|
|
4
|
+
# and Jersey.
|
|
5
|
+
#
|
|
6
|
+
# Updated: 2008-11-28.
|
|
7
|
+
# Sources:
|
|
8
|
+
# - http://en.wikipedia.org/wiki/List_of_holidays_by_country#United_Kingdom_and_Crown_dependencies
|
|
9
|
+
#
|
|
10
|
+
# Notes:
|
|
11
|
+
# - Jersey, Guernsey and the Isle of Man are encode with both their ISO 3166-1 and ISO 3-3166-2 codes.
|
|
12
|
+
# - England and Wales together should be encoded as [gb_eng, gb_wls, gb_eaw...]
|
|
13
|
+
---
|
|
14
|
+
months:
|
|
15
|
+
0:
|
|
16
|
+
- name: Good Friday
|
|
17
|
+
regions: [gb]
|
|
18
|
+
function: easter(year)-2
|
|
19
|
+
- name: Easter Sunday
|
|
20
|
+
regions: [gb]
|
|
21
|
+
function: easter(year)
|
|
22
|
+
- name: Easter Monday
|
|
23
|
+
regions: [gb_eng, gb_wls, gb_eaw, gb_nir]
|
|
24
|
+
function: easter(year)+1
|
|
25
|
+
1:
|
|
26
|
+
- name: New Year's Day
|
|
27
|
+
regions: [gb]
|
|
28
|
+
mday: 1
|
|
29
|
+
- name: New Year's
|
|
30
|
+
regions: [gb_sct]
|
|
31
|
+
mday: 2
|
|
32
|
+
3:
|
|
33
|
+
- name: St. Piran's Day
|
|
34
|
+
regions: [gb_con]
|
|
35
|
+
mday: 5
|
|
36
|
+
- name: St. Patrick's Day
|
|
37
|
+
regions: [gb_nir]
|
|
38
|
+
mday: 17
|
|
39
|
+
5:
|
|
40
|
+
- name: May Day
|
|
41
|
+
regions: [gb]
|
|
42
|
+
week: 1
|
|
43
|
+
wday: 1
|
|
44
|
+
- name: Liberation Day
|
|
45
|
+
regions: [je, gb_jsy, gg, gb_gsy]
|
|
46
|
+
mday: 9
|
|
47
|
+
- name: Bank Holiday
|
|
48
|
+
regions: [gb]
|
|
49
|
+
week: -1
|
|
50
|
+
wday: 1
|
|
51
|
+
7:
|
|
52
|
+
- name: Tynwald Day
|
|
53
|
+
regions: [im, gb_iom]
|
|
54
|
+
mday: 5
|
|
55
|
+
- name: Battle of the Boyne
|
|
56
|
+
regions: [gb_nir]
|
|
57
|
+
mday: 12
|
|
58
|
+
8:
|
|
59
|
+
- name: Bank Holiday
|
|
60
|
+
regions: [gb_sct]
|
|
61
|
+
week: 1
|
|
62
|
+
wday: 1
|
|
63
|
+
- name: Bank Holiday
|
|
64
|
+
regions: [gb_eng, gb_wls, gb_eaw, gb_nir]
|
|
65
|
+
week: -1
|
|
66
|
+
wday: 1
|
|
67
|
+
11:
|
|
68
|
+
- name: Guy Fawkes Day
|
|
69
|
+
regions: [gb]
|
|
70
|
+
mday: 5
|
|
71
|
+
type: informal
|
|
72
|
+
12:
|
|
73
|
+
- name: Christmas Day
|
|
74
|
+
regions: [gb]
|
|
75
|
+
mday: 25
|
|
76
|
+
observed: to_monday_if_weekend
|
|
77
|
+
- name: Boxing Day
|
|
78
|
+
regions: [gb]
|
|
79
|
+
mday: 26
|
|
80
|
+
observed: to_weekday_if_boxing_weekend
|
|
81
|
+
tests: |
|
|
82
|
+
{Date.civil(2008,1,1) => 'New Year\'s Day',
|
|
83
|
+
Date.civil(2008,3,21) => 'Good Friday',
|
|
84
|
+
Date.civil(2008,3,23) => 'Easter Sunday',
|
|
85
|
+
Date.civil(2008,5,5) => 'May Day',
|
|
86
|
+
Date.civil(2008,5,26) => 'Bank Holiday',
|
|
87
|
+
Date.civil(2008,11,5) => 'Guy Fawkes Day',
|
|
88
|
+
Date.civil(2008,12,25) => 'Christmas Day',
|
|
89
|
+
Date.civil(2008,12,26) => 'Boxing Day'}.each do |date, name|
|
|
90
|
+
assert_equal name, (Holidays.on(date, :gb, :informal)[0] || {})[:name]
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
assert_equal 'St. Patrick\'s Day', Date.civil(2008,3,17).holidays(:gb_nir, :informal)[0][:name]
|
|
94
|
+
|
|
95
|
+
assert_equal 'Christmas Day', Date.civil(2008,12,25).holidays(:gb_, :observed)[0][:name]
|
|
96
|
+
assert_equal 'Christmas Day', Date.civil(2009,12,25).holidays(:gb_, :observed)[0][:name]
|
|
97
|
+
assert_equal 'Christmas Day', Date.civil(2010,12,27).holidays(:gb_, :observed)[0][:name]
|
|
98
|
+
|
|
99
|
+
assert_equal 'Boxing Day', Date.civil(2008,12,26).holidays(:gb_, :observed)[0][:name]
|
|
100
|
+
assert_equal 'Boxing Day', Date.civil(2009,12,28).holidays(:gb_, :observed)[0][:name]
|
|
101
|
+
assert_equal 'Boxing Day', Date.civil(2010,12,28).holidays(:gb_, :observed)[0][:name]
|
|
102
|
+
|
|
103
|
+
[:gb_wls, :gb_eng, :gb_nir, :gb_eaw, :gb_].each do |r|
|
|
104
|
+
assert_equal 'Easter Monday', Date.civil(2008,3,24).holidays(r)[0][:name]
|
|
105
|
+
assert_equal 'Bank Holiday', Date.civil(2008,8,25).holidays(r)[0][:name]
|
|
106
|
+
end
|
data/data/ie.yaml
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Ireland holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-28.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Public_holidays_in_the_Republic_of_Ireland
|
|
6
|
+
# - http://www.citizensinformation.ie/categories/employment/employment-rights-and-conditions/leave-and-holidays/public-holidays-in-ireland
|
|
7
|
+
---
|
|
8
|
+
months:
|
|
9
|
+
0:
|
|
10
|
+
- name: Easter Monday
|
|
11
|
+
regions: [ie]
|
|
12
|
+
function: easter(year)+1
|
|
13
|
+
1:
|
|
14
|
+
- name: New Year's Day
|
|
15
|
+
regions: [ie]
|
|
16
|
+
mday: 1
|
|
17
|
+
3:
|
|
18
|
+
- name: St. Patrick's Day
|
|
19
|
+
regions: [ie]
|
|
20
|
+
mday: 17
|
|
21
|
+
5:
|
|
22
|
+
- name: May Day
|
|
23
|
+
regions: [ie]
|
|
24
|
+
week: 1
|
|
25
|
+
wday: 1
|
|
26
|
+
6:
|
|
27
|
+
- name: Bank Holiday
|
|
28
|
+
regions: [ie]
|
|
29
|
+
week: 1
|
|
30
|
+
wday: 1
|
|
31
|
+
8:
|
|
32
|
+
- name: Bank Holiday
|
|
33
|
+
regions: [ie]
|
|
34
|
+
week: 1
|
|
35
|
+
wday: 1
|
|
36
|
+
10:
|
|
37
|
+
- name: Bank Holiday
|
|
38
|
+
regions: [ie]
|
|
39
|
+
week: -1
|
|
40
|
+
wday: 1
|
|
41
|
+
12:
|
|
42
|
+
- name: Christmas Day
|
|
43
|
+
regions: [ie]
|
|
44
|
+
mday: 25
|
|
45
|
+
- name: St. Stephen's Day
|
|
46
|
+
regions: [ie]
|
|
47
|
+
mday: 26
|
|
48
|
+
tests: |
|
|
49
|
+
{Date.civil(2008,1,1) => 'New Year\'s Day',
|
|
50
|
+
Date.civil(2008,3,17) => 'St. Patrick\'s Day',
|
|
51
|
+
Date.civil(2008,3,24) => 'Easter Monday',
|
|
52
|
+
Date.civil(2008,5,5) => 'May Day',
|
|
53
|
+
Date.civil(2008,6,2) => 'Bank Holiday',
|
|
54
|
+
Date.civil(2008,8,4) => 'Bank Holiday',
|
|
55
|
+
Date.civil(2008,12,25) => 'Christmas Day',
|
|
56
|
+
Date.civil(2008,12,26) => 'St. Stephen\'s Day'}.each do |date, name|
|
|
57
|
+
assert_equal name, (Holidays.on(date, :ie, :informal)[0] || {})[:name]
|
|
58
|
+
end
|