wombleton-holidays 0.9.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|