holidays 4.7.0 → 5.0.0
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 +4 -4
- data/.gitmodules +3 -0
- data/CHANGELOG.md +9 -0
- data/CONTRIBUTING.md +21 -11
- data/Makefile +9 -6
- data/holidays.gemspec +1 -1
- data/lib/generated_definitions/MANIFEST +1 -0
- data/lib/generated_definitions/REGIONS.rb +1 -1
- data/lib/generated_definitions/hk.rb +112 -0
- data/lib/generated_definitions/kr.rb +4 -4
- data/lib/holidays/errors.rb +1 -0
- data/lib/holidays/finder/context/parse_options.rb +8 -3
- data/lib/holidays/load_all_definitions.rb +0 -11
- data/lib/holidays/version.rb +1 -1
- data/test/defs/test_defs_hk.rb +38 -0
- data/test/defs/test_defs_jp.rb +1 -0
- data/test/defs/test_defs_kr.rb +1 -1
- data/test/holidays/definition/validator/test_region.rb +4 -0
- data/test/holidays/finder/context/test_parse_options.rb +9 -1
- data/test/integration/test_all_regions.rb +4 -4
- data/test/integration/test_custom_holidays.rb +4 -4
- data/test/integration/test_holidays.rb +6 -6
- metadata +6 -60
- data/definitions/README.md +0 -353
- data/definitions/ar.yaml +0 -93
- data/definitions/at.yaml +0 -72
- data/definitions/au.yaml +0 -378
- data/definitions/be_fr.yaml +0 -69
- data/definitions/be_nl.yaml +0 -69
- data/definitions/bg.yaml +0 -127
- data/definitions/br.yaml +0 -77
- data/definitions/ca.yaml +0 -317
- data/definitions/ch.yaml +0 -193
- data/definitions/cl.yaml +0 -94
- data/definitions/cr.yaml +0 -65
- data/definitions/cz.yaml +0 -73
- data/definitions/de.yaml +0 -209
- data/definitions/dk.yaml +0 -130
- data/definitions/ecb_target.yaml +0 -44
- data/definitions/el.yaml +0 -84
- data/definitions/es.yaml +0 -203
- data/definitions/federal_reserve.yaml +0 -114
- data/definitions/fedex.yaml +0 -62
- data/definitions/fi.yaml +0 -115
- data/definitions/fr.yaml +0 -79
- data/definitions/gb.yaml +0 -151
- data/definitions/hr.yaml +0 -79
- data/definitions/hu.yaml +0 -63
- data/definitions/ie.yaml +0 -89
- data/definitions/index.yaml +0 -61
- data/definitions/is.yaml +0 -146
- data/definitions/it.yaml +0 -67
- data/definitions/jp.yaml +0 -321
- data/definitions/kr.yaml +0 -282
- data/definitions/li.yaml +0 -107
- data/definitions/lt.yaml +0 -89
- data/definitions/lu.yaml +0 -56
- data/definitions/ma.yaml +0 -52
- data/definitions/mx.yaml +0 -106
- data/definitions/my.yaml +0 -51
- data/definitions/nerc.yaml +0 -51
- data/definitions/nl.yaml +0 -73
- data/definitions/no.yaml +0 -90
- data/definitions/north_america_informal.yaml +0 -61
- data/definitions/nyse.yaml +0 -64
- data/definitions/nz.yaml +0 -163
- data/definitions/pe.yaml +0 -119
- data/definitions/ph.yaml +0 -94
- data/definitions/pl.yaml +0 -320
- data/definitions/pt.yaml +0 -89
- data/definitions/ro.yaml +0 -78
- data/definitions/se.yaml +0 -120
- data/definitions/sg.yaml +0 -56
- data/definitions/si.yaml +0 -86
- data/definitions/sk.yaml +0 -80
- data/definitions/united_nations.yaml +0 -189
- data/definitions/ups.yaml +0 -62
- data/definitions/us.yaml +0 -103
- data/definitions/ve.yaml +0 -74
- data/definitions/vi.yaml +0 -29
- data/definitions/za.yaml +0 -80
data/definitions/ch.yaml
DELETED
@@ -1,193 +0,0 @@
|
|
1
|
-
# Swiss holiday definitions for the Ruby Holiday gem.
|
2
|
-
#
|
3
|
-
# Updated: 2012-03-16.
|
4
|
-
# Sources:
|
5
|
-
# http://www.bj.admin.ch/content/dam/data/staat_buerger/zivilprozessrecht/kant-feiertage.pdf
|
6
|
-
#
|
7
|
-
# Word of warning:
|
8
|
-
# ================
|
9
|
-
# As the holidays are defined on a state level and sometimes even on a district / village level,
|
10
|
-
# this holiday definition is an approximation of the reality. It should be accurate for most of the cases but
|
11
|
-
# no guarantee is given that it is correct for all the special cases :-).
|
12
|
-
# Considers both official holidays and holidays that are handled as if they were official holidays.
|
13
|
-
#
|
14
|
-
# Holiday names are in German in case they are celebrated in the German speaking area and in French / Italian otherwise.
|
15
|
-
#
|
16
|
-
# Known Issues:
|
17
|
-
# * ch_ur: 26th of December is not celebrated in case the 25th is a Monday or a Friday.
|
18
|
-
# * ch_fr: Fronleichnam, Maria Himmelfahrt, Allerheiligen, Maria Empfaengnis is celebrated in all villages except
|
19
|
-
# some villages of the district of See.
|
20
|
-
# * ch_so: - There are a lot of village holidays not included here.
|
21
|
-
# - 1st of May is holiday only starting at noon; not included here.
|
22
|
-
# - 19th of March is celebrated only in a couple of villages
|
23
|
-
# * ch_ar: 26th of December is not celebrated in case the 25th is a Monday or a Friday.
|
24
|
-
# * ch_ai: - 22nd of September is celebrated only in part of the state.
|
25
|
-
# - 26th of December is not celebrated in case the 25th is a Monday or a Friday.
|
26
|
-
# * ch_ne: 26th of December and 2nd of January are only celebrated in case 25th of December and 1st of January are Sundays
|
27
|
-
#
|
28
|
-
#
|
29
|
-
#
|
30
|
-
# all regions [ch_zh, ch_be, ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_bs, ch_bl,
|
31
|
-
# ch_sh, ch_ar, ch_ai, ch_sg, ch_gr, ch_ag, ch_tg, ch_ti, ch_vd, ch_vs, ch_ne, ch_ge, ch_ju]
|
32
|
-
#
|
33
|
-
---
|
34
|
-
months:
|
35
|
-
0:
|
36
|
-
- name: Karfreitag
|
37
|
-
regions: [ch_zh, ch_be, ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_bs, ch_bl, ch_sh, ch_ar, ch_ai, ch_sg, ch_gr, ch_ag, ch_tg, ch_ti, ch_vd, ch_ne, ch_ge, ch_ju]
|
38
|
-
function: easter(year)
|
39
|
-
function_modifier: -2
|
40
|
-
- name: Ostermontag
|
41
|
-
regions: [ch_zh, ch_be, ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_bs, ch_bl, ch_sh, ch_ar, ch_ai, ch_sg, ch_gr, ch_ag, ch_tg, ch_ti, ch_vd, ch_vs, ch_ge, ch_ju]
|
42
|
-
function: easter(year)
|
43
|
-
function_modifier: 1
|
44
|
-
# State holiday but observed in all the states
|
45
|
-
- name: Auffahrt
|
46
|
-
regions: [ch]
|
47
|
-
function: easter(year)
|
48
|
-
function_modifier: 39
|
49
|
-
- name: Pfingstmontag
|
50
|
-
regions: [ch_zh, ch_be, ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_bs, ch_bl, ch_sh, ch_ar, ch_ai, ch_sg, ch_gr, ch_ag, ch_tg, ch_ti, ch_vd, ch_vs, ch_ge, ch_ju]
|
51
|
-
function: easter(year)
|
52
|
-
function_modifier: 50
|
53
|
-
- name: Fronleichnam
|
54
|
-
regions: [ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_zg, ch_fr, ch_so, ch_ai, ch_ag, ch_ti, ch_vs, ch_ne, ch_ju]
|
55
|
-
function: easter(year)
|
56
|
-
function_modifier: 60
|
57
|
-
- name: Lundi du Jeûne fédéral
|
58
|
-
regions: [ch_vd]
|
59
|
-
function: ch_vd_lundi_du_jeune_federal(year)
|
60
|
-
- name: Jeûne genevois
|
61
|
-
regions: [ch_ge]
|
62
|
-
function: ch_ge_jeune_genevois(year)
|
63
|
-
1:
|
64
|
-
- name: Neujahrstag
|
65
|
-
regions: [ch_zh, ch_be, ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_bs, ch_bl, ch_sh, ch_ar, ch_ai, ch_sg, ch_gr, ch_ag, ch_tg, ch_vd, ch_vs, ch_ne, ch_ge, ch_ju, ch_ti]
|
66
|
-
mday: 1
|
67
|
-
- name: Berchtoldstag
|
68
|
-
regions: [ch_zh, ch_be, ch_lu, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_sh, ch_sg, ch_ag, ch_tg, ch_vd, ch_vs, ch_ne, ch_ju]
|
69
|
-
mday: 2
|
70
|
-
- name: Dreikönigstag
|
71
|
-
regions: [ch_ur, ch_sz, ch_ti]
|
72
|
-
mday: 6
|
73
|
-
3:
|
74
|
-
- name: Instauration de la République
|
75
|
-
regions: [ch_ne]
|
76
|
-
mday: 1
|
77
|
-
- name: Josephstag
|
78
|
-
regions: [ch_ur, ch_sz, ch_nw, ch_ti, ch_vs]
|
79
|
-
mday: 19
|
80
|
-
4:
|
81
|
-
- name: Näfelser Fahrt
|
82
|
-
regions: [ch_gl]
|
83
|
-
function: ch_gl_naefelser_fahrt(year)
|
84
|
-
5:
|
85
|
-
- name: Tag der Arbeit
|
86
|
-
regions: [ch_zh, ch_bs, ch_bl, ch_sh, ch_ag, ch_tg, ch_ti, ch_ne, ch_ju]
|
87
|
-
mday: 1
|
88
|
-
6:
|
89
|
-
- name: Commémoration du plébiscite jurassien
|
90
|
-
regions: [ch_ju]
|
91
|
-
mday: 23
|
92
|
-
- name: San Pietro e Paolo
|
93
|
-
regions: [ch_ti]
|
94
|
-
mday: 29
|
95
|
-
8:
|
96
|
-
# Federal holiday
|
97
|
-
- name: Bundesfeiertag
|
98
|
-
regions: [ch]
|
99
|
-
mday: 1
|
100
|
-
- name: Mariä Himmelfahrt
|
101
|
-
regions: [ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_zg, ch_fr, ch_so, ch_ai, ch_ag, ch_ti, ch_vs, ch_ju]
|
102
|
-
mday: 15
|
103
|
-
9:
|
104
|
-
- name: Mauritiustag
|
105
|
-
regions: [ch_ai]
|
106
|
-
mday: 22
|
107
|
-
- name: Bruderklausenfest
|
108
|
-
regions: [ch_ow]
|
109
|
-
mday: 25
|
110
|
-
11:
|
111
|
-
- name: Allerheiligen
|
112
|
-
regions: [ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_ai, ch_sg, ch_ag, ch_ti, ch_vs, ch_ju]
|
113
|
-
mday: 1
|
114
|
-
12:
|
115
|
-
- name: Maria Empfängnis
|
116
|
-
regions: [ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_zg, ch_fr, ch_ai, ch_ag, ch_ti, ch_vs]
|
117
|
-
mday: 8
|
118
|
-
# State holiday but observed in all the states
|
119
|
-
- name: Weihnachten
|
120
|
-
regions: [ch]
|
121
|
-
mday: 25
|
122
|
-
- name: Stefanstag
|
123
|
-
regions: [ch_zh, ch_be, ch_lu, ch_ur, ch_sz, ch_ow, ch_nw, ch_gl, ch_zg, ch_fr, ch_so, ch_bs, ch_bl, ch_sh, ch_ar, ch_ai, ch_sg, ch_gr, ch_ag, ch_tg, ch_ti, ch_vs, ch_ne]
|
124
|
-
mday: 26
|
125
|
-
- name: Restauration de la République
|
126
|
-
regions: [ch_ge]
|
127
|
-
mday: 31
|
128
|
-
methods:
|
129
|
-
ch_vd_lundi_du_jeune_federal:
|
130
|
-
# Monday after the third Sunday of September
|
131
|
-
arguments: year
|
132
|
-
source: |
|
133
|
-
date = Date.civil(year,9,1)
|
134
|
-
# Find the first Sunday of September
|
135
|
-
until date.wday.eql? 0 do
|
136
|
-
date += 1
|
137
|
-
end
|
138
|
-
# There are 15 days between the first Sunday
|
139
|
-
# and the Monday after the third Sunday
|
140
|
-
date + 15
|
141
|
-
ch_ge_jeune_genevois:
|
142
|
-
# Thursday after the first Sunday of September
|
143
|
-
arguments: year
|
144
|
-
source: |
|
145
|
-
date = Date.civil(year,9,1)
|
146
|
-
# Find the first Sunday of September
|
147
|
-
until date.wday.eql? 0 do
|
148
|
-
date += 1
|
149
|
-
end
|
150
|
-
# Thursday is four days after Sunday
|
151
|
-
date + 4
|
152
|
-
ch_gl_naefelser_fahrt:
|
153
|
-
# First Thursday of April. If the first Thursday of April is in the week before easter, then a week later.
|
154
|
-
arguments: year
|
155
|
-
source: |
|
156
|
-
date = Date.civil(year,4,1)
|
157
|
-
# Find the first Thursday of April
|
158
|
-
until date.wday.eql? 4 do
|
159
|
-
date += 1
|
160
|
-
end
|
161
|
-
|
162
|
-
if date.eql?(Holidays::Factory::DateCalculator::Easter::Gregorian.easter_calculator.calculate_easter_for(year)-3)
|
163
|
-
date += 7
|
164
|
-
end
|
165
|
-
date
|
166
|
-
tests: |
|
167
|
-
{ Date.civil(2012,8,1) => 'Bundesfeiertag',
|
168
|
-
Date.civil(2012,12,25) => 'Weihnachten',
|
169
|
-
Date.civil(2012,05,17) => 'Auffahrt'
|
170
|
-
}.each do |date, name|
|
171
|
-
assert_equal name, (Holidays.on(date, :ch)[0] || {})[:name]
|
172
|
-
end
|
173
|
-
|
174
|
-
{ Date.civil(2012,8,1) => 'Bundesfeiertag',
|
175
|
-
Date.civil(2012,12,25) => 'Weihnachten',
|
176
|
-
Date.civil(2012,05,17) => 'Auffahrt',
|
177
|
-
Date.civil(2012,5,1) => 'Tag der Arbeit',
|
178
|
-
Date.civil(2012,12,26) => 'Stefanstag'
|
179
|
-
}.each do |date, name|
|
180
|
-
assert_equal name, (Holidays.on(date, :ch_zh)[0] || {})[:name]
|
181
|
-
end
|
182
|
-
|
183
|
-
[Date.civil(2012,9,17), Date.civil(2013,9,16), Date.civil(2014,9,22)].each do |date|
|
184
|
-
assert_equal 'Lundi du Jeûne fédéral', (Holidays.on(date, :ch_vd)[0] || {})[:name]
|
185
|
-
end
|
186
|
-
|
187
|
-
[Date.civil(2012,9,6), Date.civil(2013,9,5), Date.civil(2014,9,11)].each do |date|
|
188
|
-
assert_equal 'Jeûne genevois', (Holidays.on(date, :ch_ge)[0] || {})[:name]
|
189
|
-
end
|
190
|
-
|
191
|
-
[Date.civil(2012,4,12), Date.civil(2013,4,4), Date.civil(2014,4,3)].each do |date|
|
192
|
-
assert_equal 'Näfelser Fahrt', (Holidays.on(date, :ch_gl)[0] || {})[:name]
|
193
|
-
end
|
data/definitions/cl.yaml
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
# Chilean holiday definitions for the Ruby Holiday gem.
|
2
|
-
#
|
3
|
-
# Updated: 2014-10-08
|
4
|
-
#
|
5
|
-
# Sources:
|
6
|
-
# - http://www.feriados.cl
|
7
|
-
#
|
8
|
-
---
|
9
|
-
months:
|
10
|
-
0:
|
11
|
-
- name: Viernes Santo
|
12
|
-
regions: [cl]
|
13
|
-
function: easter(year)
|
14
|
-
function_modifier: -2
|
15
|
-
- name: Sábado Santo
|
16
|
-
regions: [cl]
|
17
|
-
function: easter(year)
|
18
|
-
function_modifier: -1
|
19
|
-
1:
|
20
|
-
- name: Año Nuevo
|
21
|
-
regions: [cl]
|
22
|
-
mday: 1
|
23
|
-
5:
|
24
|
-
- name: Día del Trabajo
|
25
|
-
regions: [cl]
|
26
|
-
mday: 1
|
27
|
-
- name: Día de las Glorias Navales
|
28
|
-
regions: [cl]
|
29
|
-
mday: 21
|
30
|
-
6:
|
31
|
-
- name: San Pedro y San Pablo
|
32
|
-
regions: [cl]
|
33
|
-
mday: 29
|
34
|
-
7:
|
35
|
-
- name: Día de la Virgen del Carmen
|
36
|
-
regions: [cl]
|
37
|
-
mday: 16
|
38
|
-
8:
|
39
|
-
- name: Asunción de la Virgen
|
40
|
-
regions: [cl]
|
41
|
-
mday: 15
|
42
|
-
9:
|
43
|
-
- name: Independencia Nacional
|
44
|
-
regions: [cl]
|
45
|
-
mday: 18
|
46
|
-
- name: Día de las Glorias del Ejército
|
47
|
-
regions: [cl]
|
48
|
-
mday: 19
|
49
|
-
10:
|
50
|
-
- name: Encuentro de Dos Mundos
|
51
|
-
regions: [cl]
|
52
|
-
mday: 12
|
53
|
-
- name: Día de las Iglesias Evangélicas y Protestantes
|
54
|
-
regions: [cl]
|
55
|
-
mday: 31
|
56
|
-
11:
|
57
|
-
- name: Día de Todos los Santos
|
58
|
-
regions: [cl]
|
59
|
-
mday: 1
|
60
|
-
12:
|
61
|
-
- name: Inmaculada Concepción de María
|
62
|
-
regions: [cl]
|
63
|
-
mday: 8
|
64
|
-
- name: Navidad
|
65
|
-
regions: [cl]
|
66
|
-
mday: 25
|
67
|
-
tests: |
|
68
|
-
{Date.civil(2014,1,1) => 'Año Nuevo',
|
69
|
-
Date.civil(2011,4,22) => 'Viernes Santo',
|
70
|
-
Date.civil(2011,4,23) => 'Sábado Santo',
|
71
|
-
Date.civil(2012,4,6) => 'Viernes Santo',
|
72
|
-
Date.civil(2012,4,7) => 'Sábado Santo',
|
73
|
-
Date.civil(2013,3,29) => 'Viernes Santo',
|
74
|
-
Date.civil(2013,3,30) => 'Sábado Santo',
|
75
|
-
Date.civil(2014,4,18) => 'Viernes Santo',
|
76
|
-
Date.civil(2014,4,19) => 'Sábado Santo',
|
77
|
-
Date.civil(2015,4,3) => 'Viernes Santo',
|
78
|
-
Date.civil(2015,4,4) => 'Sábado Santo',
|
79
|
-
Date.civil(2016,3,25) => 'Viernes Santo',
|
80
|
-
Date.civil(2016,3,26) => 'Sábado Santo',
|
81
|
-
Date.civil(2014,5,1) => 'Día del Trabajo',
|
82
|
-
Date.civil(2014,5,21) => "Día de las Glorias Navales",
|
83
|
-
Date.civil(2014,6,29) => "San Pedro y San Pablo",
|
84
|
-
Date.civil(2014,7,16) => "Día de la Virgen del Carmen",
|
85
|
-
Date.civil(2014,8,15) => "Asunción de la Virgen",
|
86
|
-
Date.civil(2014,9,18) => "Independencia Nacional",
|
87
|
-
Date.civil(2014,9,19) => "Día de las Glorias del Ejército",
|
88
|
-
Date.civil(2014,10,12) => "Encuentro de Dos Mundos",
|
89
|
-
Date.civil(2014,10,31) => "Día de las Iglesias Evangélicas y Protestantes",
|
90
|
-
Date.civil(2014,11,1) => "Día de Todos los Santos",
|
91
|
-
Date.civil(2014,12,8) => 'Inmaculada Concepción de María',
|
92
|
-
Date.civil(2014,12,25) => 'Navidad'}.each do |date, name|
|
93
|
-
assert_equal name, (Holidays.on(date, :cl, :informal)[0] || {})[:name]
|
94
|
-
end
|
data/definitions/cr.yaml
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
# Costa Rican holiday definitions for the Ruby Holiday gem.
|
2
|
-
#
|
3
|
-
#
|
4
|
-
# Updated: 2014-11-22.
|
5
|
-
#
|
6
|
-
# Sources:
|
7
|
-
# - http://en.wikipedia.org/wiki/Public_holidays_in_Costa_Rica
|
8
|
-
#
|
9
|
-
months:
|
10
|
-
0:
|
11
|
-
- name: Jueves Santo
|
12
|
-
regions: [cr]
|
13
|
-
function: easter(year)
|
14
|
-
function_modifier: -3
|
15
|
-
- name: Viernes Santo
|
16
|
-
regions: [cr]
|
17
|
-
function: easter(year)
|
18
|
-
function_modifier: -2
|
19
|
-
1:
|
20
|
-
- name: Año Nuevo
|
21
|
-
regions: [cr]
|
22
|
-
mday: 1
|
23
|
-
4:
|
24
|
-
- name: Día de Juan Santamaría
|
25
|
-
regions: [cr]
|
26
|
-
mday: 11
|
27
|
-
5:
|
28
|
-
- name: Día del Trabajador
|
29
|
-
regions: [cr]
|
30
|
-
mday: 1
|
31
|
-
7:
|
32
|
-
- name: Día de la Anexión de Guanacaste
|
33
|
-
regions: [cr]
|
34
|
-
mday: 25
|
35
|
-
8:
|
36
|
-
- name: Día de la Virgen de los Angeles
|
37
|
-
regions: [cr]
|
38
|
-
mday: 2
|
39
|
-
- name: Día de la Madre
|
40
|
-
regions: [cr]
|
41
|
-
mday: 15
|
42
|
-
9:
|
43
|
-
- name: Día de la Independencia
|
44
|
-
regions: [cr]
|
45
|
-
mday: 15
|
46
|
-
10:
|
47
|
-
- name: Día de las Culturas
|
48
|
-
regions: [cr]
|
49
|
-
mday: 12
|
50
|
-
12:
|
51
|
-
- name: Navidad
|
52
|
-
regions: [cr]
|
53
|
-
mday: 25
|
54
|
-
tests: |
|
55
|
-
{Date.civil(2015,1,1) => 'Año Nuevo',
|
56
|
-
Date.civil(2015,4,11) => 'Día de Juan Santamaría',
|
57
|
-
Date.civil(2015,5,1) => 'Día del Trabajador',
|
58
|
-
Date.civil(2015,7,25) => 'Día de la Anexión de Guanacaste',
|
59
|
-
Date.civil(2015,8,2) => 'Día de la Virgen de los Angeles',
|
60
|
-
Date.civil(2015,8,15) => 'Día de la Madre',
|
61
|
-
Date.civil(2015,9,15) => 'Día de la Independencia',
|
62
|
-
Date.civil(2015,10,12) => 'Día de las Culturas',
|
63
|
-
Date.civil(2016,12,25) => 'Navidad'}.each do |date, name|
|
64
|
-
assert_equal name, (Holidays.on(date, :cr)[0] || {})[:name]
|
65
|
-
end
|
data/definitions/cz.yaml
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
# Czech holiday definitions for the Ruby Holiday gem.
|
2
|
-
#
|
3
|
-
# Updated: 2016-04-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: Velký pátek
|
11
|
-
regions: [cz]
|
12
|
-
function: easter(year)
|
13
|
-
function_modifier: -2
|
14
|
-
- name: Velikonoční pondělí
|
15
|
-
regions: [cz]
|
16
|
-
function: easter(year)
|
17
|
-
function_modifier: 1
|
18
|
-
1:
|
19
|
-
- name: Den obnovy samostatného českého státu
|
20
|
-
regions: [cz]
|
21
|
-
mday: 1
|
22
|
-
5:
|
23
|
-
- name: Svátek práce
|
24
|
-
regions: [cz]
|
25
|
-
mday: 1
|
26
|
-
- name: Den vítězství
|
27
|
-
regions: [cz]
|
28
|
-
mday: 8
|
29
|
-
7:
|
30
|
-
- name: Den slovanských věrozvěstů Cyrila a Metoděje
|
31
|
-
regions: [cz]
|
32
|
-
mday: 5
|
33
|
-
- name: Den upálení mistra Jana Husa
|
34
|
-
regions: [cz]
|
35
|
-
mday: 6
|
36
|
-
9:
|
37
|
-
- name: Den české státnosti
|
38
|
-
regions: [cz]
|
39
|
-
mday: 28
|
40
|
-
10:
|
41
|
-
- name: Den vzniku samostatného československého státu
|
42
|
-
regions: [cz]
|
43
|
-
mday: 28
|
44
|
-
11:
|
45
|
-
- name: Den boje za svobodu a demokracii
|
46
|
-
regions: [cz]
|
47
|
-
mday: 17
|
48
|
-
12:
|
49
|
-
- name: Štědrý den
|
50
|
-
regions: [cz]
|
51
|
-
mday: 24
|
52
|
-
- name: 1. svátek vánoční
|
53
|
-
regions: [cz]
|
54
|
-
mday: 25
|
55
|
-
- name: 2. svátek vánoční
|
56
|
-
regions: [cz]
|
57
|
-
mday: 26
|
58
|
-
tests: |
|
59
|
-
{Date.civil(2010,1,1) => 'Den obnovy samostatného českého státu',
|
60
|
-
Date.civil(2016,3,25) => 'Velký pátek',
|
61
|
-
Date.civil(2010,4,5) => 'Velikonoční pondělí',
|
62
|
-
Date.civil(2010,5,1) => 'Svátek práce',
|
63
|
-
Date.civil(2010,5,8) => 'Den vítězství',
|
64
|
-
Date.civil(2010,7,5) => 'Den slovanských věrozvěstů Cyrila a Metoděje',
|
65
|
-
Date.civil(2010,7,6) => 'Den upálení mistra Jana Husa',
|
66
|
-
Date.civil(2010,9,28) => 'Den české státnosti',
|
67
|
-
Date.civil(2010,10,28) => 'Den vzniku samostatného československého státu',
|
68
|
-
Date.civil(2010,11,17) => 'Den boje za svobodu a demokracii',
|
69
|
-
Date.civil(2010,12,24) => 'Štědrý den',
|
70
|
-
Date.civil(2010,12,25) => '1. svátek vánoční',
|
71
|
-
Date.civil(2010,12,26) => '2. svátek vánoční'}.each do |date, name|
|
72
|
-
assert_equal name, (Holidays.on(date, :cz, :informal)[0] || {})[:name]
|
73
|
-
end
|
data/definitions/de.yaml
DELETED
@@ -1,209 +0,0 @@
|
|
1
|
-
# German holiday definitions for the Ruby Holiday gem.
|
2
|
-
#
|
3
|
-
# Updated: 2016-03-16
|
4
|
-
#
|
5
|
-
# Changes 2016-03-16:
|
6
|
-
# - Add Ostersonntag, Pfingstsonntag, Heilig Abend and Silvester as informal holidays.
|
7
|
-
# - Add Fronleichnam for de_sn_aux, de_th_aux
|
8
|
-
# - Add Reformationstag as informal holiday for de_bw (it is school free)
|
9
|
-
# - Add Reformationstag for 2017 (500 years)
|
10
|
-
# - Correction in test for :de_by_aux
|
11
|
-
#
|
12
|
-
# Sources:
|
13
|
-
# - http://en.wikipedia.org/wiki/Holidays_in_Germany
|
14
|
-
# - http://www.timeanddate.com/calendar/index.html?country=8
|
15
|
-
# - http://www.germany.info/relaunch/welcome/travel/holidays.html
|
16
|
-
---
|
17
|
-
months:
|
18
|
-
0:
|
19
|
-
- name: Karfreitag
|
20
|
-
regions: [de]
|
21
|
-
function: easter(year)
|
22
|
-
function_modifier: -2
|
23
|
-
- name: Ostersonntag
|
24
|
-
regions: [de]
|
25
|
-
function: easter(year)
|
26
|
-
type: informal
|
27
|
-
- name: Ostermontag
|
28
|
-
regions: [de]
|
29
|
-
function: easter(year)
|
30
|
-
function_modifier: 1
|
31
|
-
- name: Christi Himmelfahrt
|
32
|
-
regions: [de]
|
33
|
-
function: easter(year)
|
34
|
-
function_modifier: 39
|
35
|
-
- name: Pfingstsonntag
|
36
|
-
regions: [de]
|
37
|
-
function: easter(year)
|
38
|
-
function_modifier: 49
|
39
|
-
type: informal
|
40
|
-
- name: Pfingstmontag
|
41
|
-
regions: [de]
|
42
|
-
function: easter(year)
|
43
|
-
function_modifier: 50
|
44
|
-
- name: Fronleichnam
|
45
|
-
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl]
|
46
|
-
function: easter(year)
|
47
|
-
function_modifier: 60
|
48
|
-
- name: Fronleichnam
|
49
|
-
regions: [de_sn_aux, de_th_aux]
|
50
|
-
function: easter(year)
|
51
|
-
function_modifier: 60
|
52
|
-
- name: Weiberfastnacht
|
53
|
-
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn]
|
54
|
-
function: easter(year)
|
55
|
-
function_modifier: -52
|
56
|
-
type: informal
|
57
|
-
- name: Rosenmontag
|
58
|
-
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn]
|
59
|
-
function: easter(year)
|
60
|
-
function_modifier: -48
|
61
|
-
type: informal
|
62
|
-
- name: Aschermittwoch
|
63
|
-
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn]
|
64
|
-
function: easter(year)
|
65
|
-
function_modifier: -46
|
66
|
-
type: informal
|
67
|
-
1:
|
68
|
-
- name: Neujahrstag
|
69
|
-
regions: [de]
|
70
|
-
mday: 1
|
71
|
-
- name: Heilige Drei Könige
|
72
|
-
regions: [de_bw, de_by, de_st]
|
73
|
-
mday: 6
|
74
|
-
5:
|
75
|
-
- name: Tag der Arbeit
|
76
|
-
regions: [de]
|
77
|
-
mday: 1
|
78
|
-
8:
|
79
|
-
- name: Mariä Himmelfahrt
|
80
|
-
regions: [de_by, de_sl]
|
81
|
-
mday: 15
|
82
|
-
- name: Friedensfest
|
83
|
-
regions: [de_by_aux]
|
84
|
-
mday: 8
|
85
|
-
10:
|
86
|
-
- name: Tag der Deutschen Einheit
|
87
|
-
regions: [de]
|
88
|
-
mday: 3
|
89
|
-
- name: Reformationstag
|
90
|
-
regions: [de_bb, de_mv, de_sn, de_st, de_th]
|
91
|
-
mday: 31
|
92
|
-
- name: Reformationstag
|
93
|
-
regions: [de_bw]
|
94
|
-
mday: 31
|
95
|
-
type: informal
|
96
|
-
- name: Reformationstag
|
97
|
-
regions: [de]
|
98
|
-
mday: 31
|
99
|
-
year_ranges:
|
100
|
-
- limited: [2017]
|
101
|
-
11:
|
102
|
-
- name: Allerheiligen
|
103
|
-
regions: [de_bw, de_by, de_nw, de_rp, de_sl]
|
104
|
-
mday: 1
|
105
|
-
- name: Buß- und Bettag
|
106
|
-
regions: [de_sn]
|
107
|
-
function: de_buss_und_bettag(year)
|
108
|
-
12:
|
109
|
-
- name: Heilig Abend
|
110
|
-
regions: [de]
|
111
|
-
mday: 24
|
112
|
-
type: informal
|
113
|
-
- name: 1. Weihnachtstag
|
114
|
-
regions: [de]
|
115
|
-
mday: 25
|
116
|
-
- name: 2. Weihnachtstag
|
117
|
-
regions: [de]
|
118
|
-
mday: 26
|
119
|
-
- name: Silvester
|
120
|
-
regions: [de]
|
121
|
-
mday: 31
|
122
|
-
type: informal
|
123
|
-
|
124
|
-
methods:
|
125
|
-
de_buss_und_bettag:
|
126
|
-
# Germany: Wednesday before November 23
|
127
|
-
arguments: year
|
128
|
-
source: |
|
129
|
-
date = Date.civil(year,11,23)
|
130
|
-
if date.wday > 3
|
131
|
-
date -= (date.wday - 3)
|
132
|
-
else
|
133
|
-
date -= (date.wday + 4)
|
134
|
-
end
|
135
|
-
date
|
136
|
-
|
137
|
-
tests: |
|
138
|
-
{Date.civil(2009,1,1) => 'Neujahrstag',
|
139
|
-
Date.civil(2009,4,10) => 'Karfreitag',
|
140
|
-
Date.civil(2009,4,12) => 'Ostersonntag',
|
141
|
-
Date.civil(2009,4,13) => 'Ostermontag',
|
142
|
-
Date.civil(2009,5,1) => 'Tag der Arbeit',
|
143
|
-
Date.civil(2009,5,21) => 'Christi Himmelfahrt',
|
144
|
-
Date.civil(2009,5,31) => 'Pfingstsonntag',
|
145
|
-
Date.civil(2009,6,1) => 'Pfingstmontag',
|
146
|
-
Date.civil(2009,10,3) => 'Tag der Deutschen Einheit',
|
147
|
-
Date.civil(2009,12,24) => 'Heilig Abend',
|
148
|
-
Date.civil(2009,12,25) => '1. Weihnachtstag',
|
149
|
-
Date.civil(2009,12,26) => '2. Weihnachtstag',
|
150
|
-
Date.civil(2009,12,31) => 'Silvester'}.each do |date, name|
|
151
|
-
assert_equal name, (Holidays.on(date, :de, :informal)[0] || {})[:name], "Failed on '#{name}' for date '#{date}'"
|
152
|
-
end
|
153
|
-
|
154
|
-
[:de_bw, :de_by, :de_st, :de_].each do |r|
|
155
|
-
assert_equal 'Heilige Drei Könige', Holidays.on(Date.civil(2009,1,6), r)[0][:name]
|
156
|
-
end
|
157
|
-
|
158
|
-
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_].each do |r|
|
159
|
-
assert_equal 'Fronleichnam', Holidays.on(Date.civil(2009,6,11), r)[0][:name]
|
160
|
-
end
|
161
|
-
|
162
|
-
[:de_by, :de_sl, :de_].each do |r|
|
163
|
-
assert_equal 'Mariä Himmelfahrt', Holidays.on(Date.civil(2009,8,15), r)[0][:name]
|
164
|
-
end
|
165
|
-
|
166
|
-
[:de_bb, :de_mv, :de_sn, :de_st, :de_th, :de_].each do |r|
|
167
|
-
assert_equal 'Reformationstag', Holidays.on(Date.civil(2009,10,31), r)[0][:name]
|
168
|
-
end
|
169
|
-
|
170
|
-
# Free day in schools
|
171
|
-
[:de_bw].each do |r|
|
172
|
-
assert_equal 'Reformationstag', Holidays.on(Date.civil(2009,10,31), r, :informal)[0][:name]
|
173
|
-
end
|
174
|
-
|
175
|
-
# 500 years reformation in 2017
|
176
|
-
assert_equal 'Reformationstag', Holidays.on(Date.civil(2017,10,31), :de)[0][:name]
|
177
|
-
assert_equal [], Holidays.on(Date.civil(2016,10,31), :de), "Reformationstag is not a holiday in 2016 in whole Germany"
|
178
|
-
assert_equal [], Holidays.on(Date.civil(2018,10,31), :de), "Reformationstag is not a holiday in 2018 in whole Germany"
|
179
|
-
|
180
|
-
[:de_bw, :de_by, :de_nw, :de_rp, :de_sl, :de_].each do |r|
|
181
|
-
assert_equal 'Allerheiligen', Holidays.on(Date.civil(2009,11,1), r)[0][:name]
|
182
|
-
end
|
183
|
-
|
184
|
-
[:de_by_aux].each do |r|
|
185
|
-
assert_equal 'Friedensfest', Holidays.on(Date.civil(2015,8,8),r)[0][:name]
|
186
|
-
end
|
187
|
-
|
188
|
-
[:de,
|
189
|
-
:de_bw, :de_by, :de_bb, :de_he, :de_mv,
|
190
|
-
:de_nw, :de_rp, :de_sl, :de_sn, :de_st, :de_th].each do |r|
|
191
|
-
assert_equal [], Holidays.on(Date.civil(2015,8,8), r), "Friedensfest is not a holiday in #{r}"
|
192
|
-
end
|
193
|
-
|
194
|
-
assert_equal [], Holidays.on(Date.civil(2010,5,8), :de), '2010-05-08 is not a holiday in Germany'
|
195
|
-
|
196
|
-
assert_equal [], Holidays.on(Date.civil(2010,8,8), :de), '2010-08-08 is not a holiday in Germany'
|
197
|
-
|
198
|
-
# Repentance Day
|
199
|
-
assert_equal 'Buß- und Bettag', Holidays.on(Date.civil(2004,11,17), :de_sn)[0][:name]
|
200
|
-
assert_equal 'Buß- und Bettag', Holidays.on(Date.civil(2005,11,16), :de_sn)[0][:name]
|
201
|
-
assert_equal 'Buß- und Bettag', Holidays.on(Date.civil(2006,11,22), :de_sn)[0][:name]
|
202
|
-
assert_equal 'Buß- und Bettag', Holidays.on(Date.civil(2009,11,18), :de_sn)[0][:name]
|
203
|
-
|
204
|
-
# Carnival
|
205
|
-
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn].each do |r|
|
206
|
-
assert_equal 'Weiberfastnacht', Holidays.on(Date.civil(2016,2,4),r,:informal)[0][:name]
|
207
|
-
assert_equal 'Rosenmontag', Holidays.on(Date.civil(2016,2,8),r,:informal)[0][:name]
|
208
|
-
assert_equal 'Aschermittwoch', Holidays.on(Date.civil(2016,2,10),r,:informal)[0][:name]
|
209
|
-
end
|