holidays 7.1.0 → 8.5.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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -1
  3. data/README.md +3 -4
  4. data/doc/CONTRIBUTING.md +2 -1
  5. data/holidays.gemspec +5 -5
  6. data/lib/generated_definitions/MANIFEST +3 -0
  7. data/lib/generated_definitions/REGIONS.rb +2 -2
  8. data/lib/generated_definitions/ar.rb +27 -8
  9. data/lib/generated_definitions/au.rb +10 -4
  10. data/lib/generated_definitions/ca.rb +21 -16
  11. data/lib/generated_definitions/ch.rb +13 -1
  12. data/lib/generated_definitions/cl.rb +5 -5
  13. data/lib/generated_definitions/de.rb +5 -4
  14. data/lib/generated_definitions/es.rb +4 -2
  15. data/lib/generated_definitions/europe.rb +87 -24
  16. data/lib/generated_definitions/federalreservebanks.rb +1 -0
  17. data/lib/generated_definitions/gb.rb +10 -5
  18. data/lib/generated_definitions/hr.rb +8 -6
  19. data/lib/generated_definitions/hu.rb +3 -2
  20. data/lib/generated_definitions/it.rb +14 -5
  21. data/lib/generated_definitions/jp.rb +26 -21
  22. data/lib/generated_definitions/kz.rb +38 -0
  23. data/lib/generated_definitions/lu.rb +2 -0
  24. data/lib/generated_definitions/lv.rb +52 -0
  25. data/lib/generated_definitions/mx.rb +3 -3
  26. data/lib/generated_definitions/ng.rb +33 -0
  27. data/lib/generated_definitions/northamerica.rb +28 -23
  28. data/lib/generated_definitions/ro.rb +5 -2
  29. data/lib/generated_definitions/southamerica.rb +30 -11
  30. data/lib/generated_definitions/tr.rb +5 -3
  31. data/lib/generated_definitions/ua.rb +6 -6
  32. data/lib/generated_definitions/us.rb +6 -6
  33. data/lib/generated_definitions/za.rb +1 -1
  34. data/lib/holidays/definition/context/generator.rb +20 -34
  35. data/lib/holidays/definition/repository/holidays_by_month.rb +9 -1
  36. data/lib/holidays/finder/context/search.rb +34 -31
  37. data/lib/holidays/finder/rules/year_range.rb +30 -54
  38. data/lib/holidays/version.rb +1 -1
  39. data/lib/holidays.rb +2 -0
  40. data/test/coverage_report.rb +23 -5
  41. data/test/data/test_custom_year_range_holiday_defs.yaml +6 -10
  42. data/test/data/test_multiple_regions_with_conflicts_region_1.yaml +38 -0
  43. data/test/data/test_multiple_regions_with_conflicts_region_2.yaml +38 -0
  44. data/test/defs/test_defs_ar.rb +20 -4
  45. data/test/defs/test_defs_au.rb +2 -0
  46. data/test/defs/test_defs_ca.rb +41 -10
  47. data/test/defs/test_defs_ch.rb +4 -0
  48. data/test/defs/test_defs_co.rb +3 -3
  49. data/test/defs/test_defs_de.rb +2 -0
  50. data/test/defs/test_defs_es.rb +2 -0
  51. data/test/defs/test_defs_europe.rb +164 -11
  52. data/test/defs/test_defs_federalreservebanks.rb +24 -0
  53. data/test/defs/test_defs_gb.rb +24 -0
  54. data/test/defs/test_defs_hr.rb +6 -6
  55. data/test/defs/test_defs_hu.rb +12 -4
  56. data/test/defs/test_defs_it.rb +20 -0
  57. data/test/defs/test_defs_jp.rb +5 -3
  58. data/test/defs/test_defs_kz.rb +39 -0
  59. data/test/defs/test_defs_lu.rb +6 -0
  60. data/test/defs/test_defs_lv.rb +90 -0
  61. data/test/defs/test_defs_ng.rb +29 -0
  62. data/test/defs/test_defs_northamerica.rb +51 -20
  63. data/test/defs/test_defs_ro.rb +14 -0
  64. data/test/defs/test_defs_southamerica.rb +23 -7
  65. data/test/defs/test_defs_tr.rb +7 -0
  66. data/test/defs/test_defs_us.rb +10 -10
  67. data/test/holidays/core_extensions/test_date.rb +3 -2
  68. data/test/holidays/definition/context/test_generator.rb +5 -18
  69. data/test/holidays/definition/repository/test_holidays_by_month.rb +121 -1
  70. data/test/holidays/finder/rules/test_year_range.rb +43 -47
  71. data/test/integration/test_available_regions.rb +1 -1
  72. data/test/integration/test_custom_year_range_holidays.rb +0 -7
  73. data/test/integration/test_holidays.rb +3 -25
  74. data/test/integration/test_holidays_between.rb +10 -0
  75. data/test/integration/test_multiple_regions_with_conflict.rb +29 -0
  76. metadata +28 -14
@@ -2,12 +2,12 @@
2
2
  module Holidays
3
3
  # This file is generated by the Ruby Holidays gem.
4
4
  #
5
- # Definitions loaded: definitions/at.yaml, definitions/be_fr.yaml, definitions/be_nl.yaml, definitions/ch.yaml, definitions/cz.yaml, definitions/dk.yaml, definitions/de.yaml, definitions/el.yaml, definitions/es.yaml, definitions/fr.yaml, definitions/gb.yaml, definitions/hr.yaml, definitions/hu.yaml, definitions/ie.yaml, definitions/is.yaml, definitions/it.yaml, definitions/li.yaml, definitions/lt.yaml, definitions/nl.yaml, definitions/no.yaml, definitions/pl.yaml, definitions/pt.yaml, definitions/ro.yaml, definitions/sk.yaml, definitions/si.yaml, definitions/bg.yaml, definitions/ua.yaml
5
+ # Definitions loaded: definitions/at.yaml, definitions/be_fr.yaml, definitions/be_nl.yaml, definitions/ch.yaml, definitions/cz.yaml, definitions/dk.yaml, definitions/de.yaml, definitions/el.yaml, definitions/es.yaml, definitions/fr.yaml, definitions/gb.yaml, definitions/hr.yaml, definitions/hu.yaml, definitions/ie.yaml, definitions/is.yaml, definitions/it.yaml, definitions/li.yaml, definitions/lt.yaml, definitions/lv.yaml, definitions/nl.yaml, definitions/no.yaml, definitions/pl.yaml, definitions/pt.yaml, definitions/ro.yaml, definitions/sk.yaml, definitions/si.yaml, definitions/bg.yaml, definitions/ua.yaml
6
6
  #
7
7
  # All the definitions are available at https://github.com/holidays/holidays
8
8
  module EUROPE # :nodoc:
9
9
  def self.defined_regions
10
- [:at, :be_fr, :be_nl, :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, :ch_vs, :ch, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_by_cath, :de_by_augsburg, :de_bb, :de_mv, :de_th, :de_hb, :de_hh, :de_ni, :de_sh, :el, :es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :es, :es_ct, :es_v, :es_vc, :fr_a, :fr_m, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy, :gb_sct, :gb_con, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :nl, :no, :pl, :pt, :pt_li, :pt_po, :ro, :sk, :si, :bg_en, :bg_bg, :ua]
10
+ [:at, :be_fr, :be_nl, :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, :ch_vs, :ch, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_by_cath, :de_by_augsburg, :de_bb, :de_mv, :de_th, :de_hb, :de_hh, :de_ni, :de_sh, :el, :es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :es, :es_ct, :es_v, :es_vc, :fr_a, :fr_m, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy, :gb_sct, :gb_con, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :li, :lt, :lv, :nl, :no, :pl, :pt, :pt_li, :pt_po, :ro, :sk, :si, :bg_en, :bg_bg, :ua]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
@@ -64,6 +64,7 @@ module Holidays
64
64
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Jueves Santo", :regions => [:es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex]},
65
65
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Viernes Santo", :regions => [:es]},
66
66
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunes de Pascua", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]},
67
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lunes de Pascua Granada", :regions => [:es_ct]},
67
68
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Vendredi saint", :regions => [:fr_a, :fr_m]},
68
69
  {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Pâques", :regions => [:fr]},
69
70
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lundi de Pâques", :regions => [:fr]},
@@ -76,8 +77,9 @@ module Holidays
76
77
  {:function => "easter(year)", :function_arguments => [:year], :name => "Uskrs", :regions => [:hr]},
77
78
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
78
79
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Tijelovo", :regions => [:hr]},
79
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvét hétfő", :regions => [:hu]},
80
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösd hétfő", :regions => [:hu]},
80
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2017 },:name => "Nagypéntek", :regions => [:hu]},
81
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvéthétfő", :regions => [:hu]},
82
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösdhétfő", :regions => [:hu]},
81
83
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ie]},
82
84
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Bolludagur", :regions => [:is]},
83
85
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Sprengidagur", :regions => [:is]},
@@ -101,6 +103,11 @@ module Holidays
101
103
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:li]},
102
104
  {:function => "easter(year)", :function_arguments => [:year], :name => "Šv. Velykos", :regions => [:lt]},
103
105
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Antroji Velykų diena", :regions => [:lt]},
106
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Lielā Piektdiena", :regions => [:lv]},
107
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Pirmās Lieldienas", :regions => [:lv]},
108
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Otrās Lieldienas", :regions => [:lv]},
109
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Vasarsvētki", :regions => [:lv]},
110
+ {:function => "lv_song_and_dance_festival_end_date(year)", :function_arguments => [:year], :year_ranges => { :from => 2018 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Vispārējo latviešu Dziesmu un deju svētku noslēguma diena", :regions => [:lv]},
104
111
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Goede Vrijdag", :regions => [:nl]},
105
112
  {:function => "easter(year)", :function_arguments => [:year], :name => "Eerste Paasdag", :regions => [:nl]},
106
113
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Tweede Paasdag", :regions => [:nl]},
@@ -131,6 +138,7 @@ module Holidays
131
138
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Sexta-feira Santa", :regions => [:pt]},
132
139
  {:function => "easter(year)", :function_arguments => [:year], :name => "Páscoa", :regions => [:pt]},
133
140
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Corpo de Deus", :regions => [:pt]},
141
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2018 },:name => "Paștele - Vinerea Mare", :regions => [:ro]},
134
142
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Paștele - duminică", :regions => [:ro]},
135
143
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paștele - luni", :regions => [:ro]},
136
144
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Rusaliile - 50", :regions => [:ro]},
@@ -168,7 +176,7 @@ module Holidays
168
176
  {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:gb]},
169
177
  {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]},
170
178
  {:mday => 1, :name => "Nova godina", :regions => [:hr]},
171
- {:mday => 6, :name => "Sveta tri kralja", :regions => [:hr]},
179
+ {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]},
172
180
  {:mday => 1, :name => "Újév", :regions => [:hu]},
173
181
  {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ie]},
174
182
  {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
@@ -179,6 +187,7 @@ module Holidays
179
187
  {:mday => 1, :name => "Neujahrstag", :regions => [:li]},
180
188
  {:mday => 6, :name => "Heilige Drei Könige", :regions => [:li]},
181
189
  {:mday => 1, :name => "Naujieji metai", :regions => [:lt]},
190
+ {:mday => 1, :name => "Jaungada diena", :regions => [:lv]},
182
191
  {:mday => 1, :name => "Nieuwjaarsdag", :regions => [:nl]},
183
192
  {:mday => 1, :name => "Nyttårsdag", :regions => [:no]},
184
193
  {:mday => 1, :name => "Nowy Rok", :regions => [:pl]},
@@ -189,6 +198,7 @@ module Holidays
189
198
  {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
190
199
  {:mday => 1, :name => "Anul nou", :regions => [:ro]},
191
200
  {:mday => 2, :name => "Anul nou", :regions => [:ro]},
201
+ {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]},
192
202
  {:mday => 1, :name => "Nový rok", :regions => [:sk]},
193
203
  {:mday => 6, :name => "Zjavenie Pána (Traja králi)", :regions => [:sk]},
194
204
  {:mday => 1, :name => "novo leto", :regions => [:si]},
@@ -205,6 +215,7 @@ module Holidays
205
215
  {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
206
216
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
207
217
  {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
218
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]},
208
219
  {:mday => 1, :name => "Πρωτομαγιά", :regions => [:el]},
209
220
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día del Trabajador", :regions => [:es]},
210
221
  {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta de la Comunidad", :regions => [:es_m]},
@@ -212,17 +223,25 @@ module Holidays
212
223
  {:mday => 31, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región Castilla-La Mancha", :regions => [:es_cm]},
213
224
  {:mday => 1, :name => "Fête du travail", :regions => [:fr]},
214
225
  {:mday => 8, :name => "Victoire 1945", :regions => [:fr]},
215
- {:wday => 1, :week => 1, :name => "May Day", :regions => [:gb]},
226
+ {:wday => 1, :week => 1, :year_ranges => { :until => 2019 },:name => "May Day", :regions => [:gb]},
227
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "May Day", :regions => [:gb]},
228
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2021 },:name => "May Day", :regions => [:gb]},
216
229
  {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
217
- {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]},
218
- {:mday => 1, :name => "Međunarodni praznik rada", :regions => [:hr]},
230
+ {:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Bank Holiday", :regions => [:gb]},
231
+ {:wday => 1, :week => -1, :year_ranges => { :from => 2023 },:name => "Bank Holiday", :regions => [:gb]},
232
+ {:mday => 1, :name => "Praznik rada", :regions => [:hr]},
233
+ {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]},
219
234
  {:mday => 1, :name => "A munka ünnepe", :regions => [:hu]},
220
235
  {:wday => 1, :week => 1, :name => "May Day", :regions => [:ie]},
221
236
  {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
222
237
  {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
223
238
  {:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
239
+ {:mday => 21, :name => "Festa di San Zeno", :regions => [:it_vr]},
224
240
  {:mday => 1, :name => "Tag der Arbeit", :regions => [:li]},
225
241
  {:mday => 1, :name => "Darbininkų diena", :regions => [:lt]},
242
+ {:mday => 1, :name => "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", :regions => [:lv]},
243
+ {:mday => 4, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Neatkarības atjaunošanas diena", :regions => [:lv]},
244
+ {:wday => 0, :week => 2, :name => "Mātes diena", :regions => [:lv]},
226
245
  {:mday => 4, :type => :informal, :name => "Dodenherdenking", :regions => [:nl]},
227
246
  {:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]},
228
247
  {:mday => 1, :name => "1. mai", :regions => [:no]},
@@ -243,7 +262,7 @@ module Holidays
243
262
  {:mday => 24, :name => "Slavic Literacy Day", :regions => [:bg_en]},
244
263
  {:mday => 24, :name => "Ден на славянската писменост", :regions => [:bg_bg]},
245
264
  {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День праці", :regions => [:ua]},
246
- {:mday => 2, :year_ranges => [{:before => 2017}],:name => "День міжнародної солідарності трудящих", :regions => [:ua]},
265
+ {:mday => 2, :year_ranges => { :until => 2017 },:name => "День міжнародної солідарності трудящих", :regions => [:ua]},
247
266
  {:mday => 9, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День перемоги над нацизмом у Другій світовій війні", :regions => [:ua]}],
248
267
  8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at]},
249
268
  {:mday => 15, :name => "Assomption", :regions => [:be_fr]},
@@ -257,7 +276,7 @@ module Holidays
257
276
  {:mday => 15, :name => "Assomption", :regions => [:fr]},
258
277
  {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
259
278
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
260
- {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i dan hrvatskih branitelja", :regions => [:hr]},
279
+ {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
261
280
  {:mday => 15, :name => "Velika Gospa", :regions => [:hr]},
262
281
  {:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]},
263
282
  {:wday => 1, :week => 1, :name => "August Bank Holiday", :regions => [:ie]},
@@ -271,29 +290,30 @@ module Holidays
271
290
  {:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]},
272
291
  {:mday => 29, :name => "Výročie Slovenského národného povstania", :regions => [:sk]},
273
292
  {:mday => 15, :name => "Marijino vnebovzetje", :regions => [:si]},
274
- {:mday => 24, :year_ranges => [{:after => 1992}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Незалежності", :regions => [:ua]}],
293
+ {:mday => 24, :year_ranges => { :from => 1992 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Незалежності", :regions => [:ua]}],
275
294
  10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]},
276
295
  {:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]},
277
296
  {:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]},
278
297
  {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
279
298
  {:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
280
- {:mday => 31, :year_ranges => [{:limited => [2017]}],:name => "Reformationstag", :regions => [:de]},
281
- {:mday => 31, :year_ranges => [{:after => 2018}],:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]},
299
+ {:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
300
+ {:mday => 31, :year_ranges => { :from => 2018 },:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]},
282
301
  {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:el]},
283
302
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
284
303
  {:mday => 12, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Hispanidad", :regions => [:es]},
285
- {:mday => 8, :name => "Dan neovisnosti", :regions => [:hr]},
304
+ {:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]},
286
305
  {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
287
306
  {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
288
307
  {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
289
308
  {:mday => 5, :name => "Dia da República", :regions => [:pt]},
290
309
  {:mday => 31, :name => "dan reformacije", :regions => [:si]},
291
- {:mday => 14, :year_ranges => [{:after => 2015}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День захисника України", :regions => [:ua]}],
310
+ {:mday => 14, :year_ranges => { :from => 2015 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День захисника України", :regions => [:ua]}],
292
311
  11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]},
293
312
  {:mday => 1, :name => "Toussaint", :regions => [:be_fr]},
294
313
  {:mday => 11, :name => "Armistice 1918", :regions => [:be_fr]},
295
314
  {:mday => 1, :name => "Allerheiligen", :regions => [:be_nl]},
296
315
  {:mday => 11, :name => "Wapenstilstand 1918", :regions => [:be_nl]},
316
+ {:function => "ch_be_zibelemaerit(year)", :function_arguments => [:year], :name => "Zibelemärit", :regions => [:ch_be]},
297
317
  {:mday => 1, :name => "Allerheiligen", :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]},
298
318
  {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
299
319
  {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
@@ -303,14 +323,18 @@ module Holidays
303
323
  {:mday => 1, :name => "Toussaint", :regions => [:fr]},
304
324
  {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
305
325
  {:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
306
- {:mday => 30, :year_ranges => [{:before => 2006}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
307
- {:mday => 30, :year_ranges => [{:after => 2007}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]},
308
- {:mday => 1, :name => "Dan svih svetih", :regions => [:hr]},
326
+ {:mday => 30, :year_ranges => { :until => 2006 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
327
+ {:mday => 30, :year_ranges => { :from => 2007 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]},
328
+ {:mday => 1, :name => "Svi sveti", :regions => [:hr]},
329
+ {:mday => 18, :year_ranges => { :from => 2020 },:name => "Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje", :regions => [:hr]},
309
330
  {:mday => 1, :name => "Mindenszentek", :regions => [:hu]},
310
331
  {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]},
311
332
  {:mday => 1, :name => "Ognissanti", :regions => [:it]},
333
+ {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
334
+ {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]},
312
335
  {:mday => 1, :name => "Allerheiligen", :regions => [:li]},
313
336
  {:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]},
337
+ {:mday => 18, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Proklamēšanas diena", :regions => [:lv]},
314
338
  {:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
315
339
  {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
316
340
  {:mday => 11, :name => "Narodowe Święto Niepodległości", :regions => [:pl]},
@@ -373,6 +397,10 @@ module Holidays
373
397
  {:mday => 24, :name => "Šv. Kūčios", :regions => [:lt]},
374
398
  {:mday => 25, :name => "Šv. Kalėdos", :regions => [:lt]},
375
399
  {:mday => 26, :name => "Antroji Kalėdų diena", :regions => [:lt]},
400
+ {:mday => 24, :name => "Ziemassvētku vakars", :regions => [:lv]},
401
+ {:mday => 25, :name => "Pirmie Ziemassvētki", :regions => [:lv]},
402
+ {:mday => 26, :name => "Otrie Ziemassvētki", :regions => [:lv]},
403
+ {:mday => 31, :name => "Vecgada diena", :regions => [:lv]},
376
404
  {:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
377
405
  {:mday => 25, :name => "Eerste Kerstdag", :regions => [:nl]},
378
406
  {:mday => 26, :name => "Tweede Kerstdag", :regions => [:nl]},
@@ -403,7 +431,7 @@ module Holidays
403
431
  {:mday => 25, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
404
432
  {:mday => 26, :name => "Christmas", :regions => [:bg_en]},
405
433
  {:mday => 26, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
406
- {:mday => 25, :year_ranges => [{:after => 2017}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
434
+ {:mday => 25, :year_ranges => { :from => 2017 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
407
435
  7 => [{:mday => 21, :name => "Fête nationale", :regions => [:be_fr]},
408
436
  {:mday => 21, :name => "Nationale Feestdag", :regions => [:be_nl]},
409
437
  {:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
@@ -411,13 +439,13 @@ module Holidays
411
439
  {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Santiago Apostol", :regions => [:es_ga]},
412
440
  {:mday => 14, :name => "Fête nationale", :regions => [:fr]},
413
441
  {:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
414
- {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]},
442
+ {:mday => 12, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Battle of the Boyne", :regions => [:gb_nir]},
415
443
  {:mday => 6, :name => "Valstybės diena", :regions => [:lt]},
416
444
  {:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]},
417
- {:mday => 16, :year_ranges => [{:limited => [1991]}],:name => "День Незалежності України", :regions => [:ua]}],
445
+ {:mday => 16, :year_ranges => { :limited => [1991] },:name => "День Незалежності України", :regions => [:ua]}],
418
446
  3 => [{:mday => 1, :name => "Instauration de la République", :regions => [:ch_ne]},
419
447
  {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]},
420
- {:mday => 8, :year_ranges => [{:after => 2019}],:name => "Internationaler Frauentag", :regions => [:de_be]},
448
+ {:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
421
449
  {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:el]},
422
450
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Islas Baleares", :regions => [:es_ib]},
423
451
  {:mday => 19, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San José", :regions => [:es_v, :es_vc, :es_cm, :es_mu, :es_m]},
@@ -440,6 +468,8 @@ module Holidays
440
468
  {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San Jorge, Día de Aragón", :regions => [:es_ar]},
441
469
  {:function => "is_sumardagurinn_fyrsti(year)", :function_arguments => [:year], :name => "Sumardagurinn fyrsti", :regions => [:is]},
442
470
  {:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
471
+ {:mday => 25, :name => "Festa di San Marco Evangelista", :regions => [:it_ve]},
472
+ {:mday => 27, :name => "Festa di San Liberale", :regions => [:it_tv]},
443
473
  {:mday => 27, :name => "Koningsdag", :regions => [:nl]},
444
474
  {:mday => 1, :type => :informal, :name => "Prima Aprilis", :regions => [:pl]},
445
475
  {:mday => 22, :type => :informal, :name => "Międzynarodowy Dzień Ziemi", :regions => [:pl]},
@@ -452,19 +482,28 @@ module Holidays
452
482
  {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
453
483
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región de Murcia", :regions => [:es_mu]},
454
484
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de La Rioja", :regions => [:es_lo]},
485
+ {:mday => 24, :name => "San Juan", :regions => [:es_ct, :es_vc]},
486
+ {:mday => 2, :year_ranges => { :limited => [2022] },:name => "Bank Holiday", :regions => [:gb]},
487
+ {:mday => 3, :year_ranges => { :limited => [2022] },:name => "Platinum Jubilee", :regions => [:gb]},
455
488
  {:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
456
- {:mday => 25, :name => "Dan državnosti", :regions => [:hr]},
489
+ {:mday => 25, :year_ranges => { :until => 2019 },:name => "Dan državnosti", :regions => [:hr]},
457
490
  {:wday => 1, :week => 1, :name => "June Bank Holiday", :regions => [:ie]},
458
491
  {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
459
492
  {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
460
493
  {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
494
+ {:mday => 13, :name => "Festa di Sant'Antonio di Padova", :regions => [:it_pd]},
495
+ {:mday => 24, :name => "Festa di San Giovanni Battista", :regions => [:it_fi, :it_ge, :it_to]},
496
+ {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]},
461
497
  {:mday => 24, :name => "Joninės", :regions => [:lt]},
498
+ {:mday => 23, :name => "Līgo diena", :regions => [:lv]},
499
+ {:mday => 24, :name => "Jāņu diena", :regions => [:lv]},
462
500
  {:mday => 23, :type => :informal, :name => "Dzień Ojca", :regions => [:pl]},
463
501
  {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]},
464
502
  {:mday => 13, :name => "Dia de Santo António", :regions => [:pt_li]},
465
503
  {:mday => 24, :name => "Dia de São João", :regions => [:pt_po]},
504
+ {:mday => 1, :year_ranges => { :from => 2017 },:name => "Ziua Copilului", :regions => [:ro]},
466
505
  {:mday => 25, :name => "dan državnosti", :regions => [:si]},
467
- {:mday => 28, :year_ranges => [{:after => 1997}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Конституції", :regions => [:ua]}],
506
+ {:mday => 28, :year_ranges => { :from => 1997 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Конституції", :regions => [:ua]}],
468
507
  9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
469
508
  {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]},
470
509
  {:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
@@ -473,7 +512,9 @@ module Holidays
473
512
  {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
474
513
  {:mday => 11, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]},
475
514
  {:mday => 24, :name => "La Mercè", :regions => [:es_ct]},
515
+ {:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]},
476
516
  {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
517
+ {:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]},
477
518
  {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
478
519
  {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
479
520
  {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]},
@@ -527,6 +568,17 @@ end
527
568
  date
528
569
  },
529
570
 
571
+ "ch_be_zibelemaerit(year)" => Proc.new { |year|
572
+ date = Date.civil(year,11,1)
573
+ # Find the first Monday of November
574
+ until date.wday.eql? 1 do
575
+ date += 1
576
+ end
577
+ # There are 21 days between the first monday
578
+ # and the 4rth Monday after
579
+ date + 21
580
+ },
581
+
530
582
  "de_buss_und_bettag(year)" => Proc.new { |year|
531
583
  date = Date.civil(year,11,23)
532
584
  if date.wday > 3
@@ -547,6 +599,17 @@ end
547
599
  date
548
600
  },
549
601
 
602
+ "lv_song_and_dance_festival_end_date(year)" => Proc.new { |year|
603
+ case year
604
+ when 2018
605
+ # https://likumi.lv/ta/id/281541 (Ministru kabineta rīkojums Nr. 252 "Par XXVI Vispārējo latviešu dziesmu un XVI Deju svētku norises laiku")
606
+ Date.new(2018, 7, 8)
607
+ when 2023
608
+ # Event's period/next year is known, but precise dates aren't.
609
+ # Previously, dates were announced 2 years ahead, so at ~2021-05 this method would need to be revisited.
610
+ end
611
+ },
612
+
550
613
  "pl_trzech_kroli(year)" => Proc.new { |year|
551
614
  year >= 2011 ? 6 : nil
552
615
  },
@@ -16,6 +16,7 @@ module Holidays
16
16
  {:wday => 1, :week => 3, :name => "Birthday of Martin Luther King, Jr", :regions => [:federalreservebanks]}],
17
17
  2 => [{:wday => 1, :week => 3, :name => "Washington's Birthday", :regions => [:federalreservebanks]}],
18
18
  5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:federalreservebanks]}],
19
+ 6 => [{:mday => 19, :year_ranges => { :from => 2021 },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Juneteenth National Independence Day", :regions => [:federalreservebanks]}],
19
20
  7 => [{:mday => 4, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:federalreservebanks]}],
20
21
  9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:federalreservebanks]}],
21
22
  10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:federalreservebanks]}],
@@ -19,16 +19,21 @@ module Holidays
19
19
  {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]}],
20
20
  3 => [{:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
21
21
  {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:gb_nir]}],
22
- 5 => [{:wday => 1, :week => 1, :name => "May Day", :regions => [:gb]},
22
+ 5 => [{:wday => 1, :week => 1, :year_ranges => { :until => 2019 },:name => "May Day", :regions => [:gb]},
23
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "May Day", :regions => [:gb]},
24
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2021 },:name => "May Day", :regions => [:gb]},
23
25
  {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
24
- {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]}],
26
+ {:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Bank Holiday", :regions => [:gb]},
27
+ {:wday => 1, :week => -1, :year_ranges => { :from => 2023 },:name => "Bank Holiday", :regions => [:gb]}],
28
+ 6 => [{:mday => 2, :year_ranges => { :limited => [2022] },:name => "Bank Holiday", :regions => [:gb]},
29
+ {:mday => 3, :year_ranges => { :limited => [2022] },:name => "Platinum Jubilee", :regions => [:gb]}],
25
30
  7 => [{:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
26
- {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]}],
31
+ {:mday => 12, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Battle of the Boyne", :regions => [:gb_nir]}],
27
32
  8 => [{:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
28
33
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]}],
29
34
  11 => [{:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
30
- {:mday => 30, :year_ranges => [{:before => 2006}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
31
- {:mday => 30, :year_ranges => [{:after => 2007}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]}],
35
+ {:mday => 30, :year_ranges => { :until => 2006 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
36
+ {:mday => 30, :year_ranges => { :from => 2007 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]}],
32
37
  12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:gb]},
33
38
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:gb]}]
34
39
  }
@@ -16,14 +16,16 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Tijelovo", :regions => [:hr]}],
18
18
  1 => [{:mday => 1, :name => "Nova godina", :regions => [:hr]},
19
- {:mday => 6, :name => "Sveta tri kralja", :regions => [:hr]}],
20
- 5 => [{:mday => 1, :name => "Međunarodni praznik rada", :regions => [:hr]}],
19
+ {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]}],
20
+ 5 => [{:mday => 1, :name => "Praznik rada", :regions => [:hr]},
21
+ {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]}],
21
22
  6 => [{:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
22
- {:mday => 25, :name => "Dan državnosti", :regions => [:hr]}],
23
- 8 => [{:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i dan hrvatskih branitelja", :regions => [:hr]},
23
+ {:mday => 25, :year_ranges => { :until => 2019 },:name => "Dan državnosti", :regions => [:hr]}],
24
+ 8 => [{:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
24
25
  {:mday => 15, :name => "Velika Gospa", :regions => [:hr]}],
25
- 10 => [{:mday => 8, :name => "Dan neovisnosti", :regions => [:hr]}],
26
- 11 => [{:mday => 1, :name => "Dan svih svetih", :regions => [:hr]}],
26
+ 10 => [{:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]}],
27
+ 11 => [{:mday => 1, :name => "Svi sveti", :regions => [:hr]},
28
+ {:mday => 18, :year_ranges => { :from => 2020 },:name => "Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje", :regions => [:hr]}],
27
29
  12 => [{:mday => 25, :name => "Božić", :regions => [:hr]},
28
30
  {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]}]
29
31
  }
@@ -12,8 +12,9 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvét hétfő", :regions => [:hu]},
16
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösd hétfő", :regions => [:hu]}],
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2017 },:name => "Nagypéntek", :regions => [:hu]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvéthétfő", :regions => [:hu]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösdhétfő", :regions => [:hu]}],
17
18
  1 => [{:mday => 1, :name => "Újév", :regions => [:hu]}],
18
19
  3 => [{:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]}],
19
20
  5 => [{:mday => 1, :name => "A munka ünnepe", :regions => [:hu]}],
@@ -7,7 +7,7 @@ module Holidays
7
7
  # All the definitions are available at https://github.com/holidays/holidays
8
8
  module IT # :nodoc:
9
9
  def self.defined_regions
10
- [:it]
10
+ [:it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
@@ -16,11 +16,20 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunedì dell'Angelo", :regions => [:it]}],
17
17
  1 => [{:mday => 1, :name => "Capodanno", :regions => [:it]},
18
18
  {:mday => 6, :name => "Epifania", :regions => [:it]}],
19
- 4 => [{:mday => 25, :name => "Festa della Liberazione", :regions => [:it]}],
20
- 5 => [{:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]}],
21
- 6 => [{:mday => 2, :name => "Festa della Repubblica", :regions => [:it]}],
19
+ 4 => [{:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
20
+ {:mday => 25, :name => "Festa di San Marco Evangelista", :regions => [:it_ve]},
21
+ {:mday => 27, :name => "Festa di San Liberale", :regions => [:it_tv]}],
22
+ 5 => [{:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
23
+ {:mday => 21, :name => "Festa di San Zeno", :regions => [:it_vr]}],
24
+ 6 => [{:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
25
+ {:mday => 13, :name => "Festa di Sant'Antonio di Padova", :regions => [:it_pd]},
26
+ {:mday => 24, :name => "Festa di San Giovanni Battista", :regions => [:it_fi, :it_ge, :it_to]},
27
+ {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]}],
22
28
  8 => [{:mday => 15, :name => "Assunzione", :regions => [:it]}],
23
- 11 => [{:mday => 1, :name => "Ognissanti", :regions => [:it]}],
29
+ 9 => [{:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]}],
30
+ 11 => [{:mday => 1, :name => "Ognissanti", :regions => [:it]},
31
+ {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
32
+ {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]}],
24
33
  12 => [{:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
25
34
  {:mday => 25, :name => "Natale", :regions => [:it]},
26
35
  {:mday => 26, :name => "Santo Stefano", :regions => [:it]}]
@@ -17,46 +17,51 @@ module Holidays
17
17
  {:mday => 1, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
18
18
  2 => [{:mday => 11, :name => "建国記念の日", :regions => [:jp]},
19
19
  {:mday => 11, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
20
- {:mday => 23, :year_ranges => [{:after => 2020}],:name => "天皇誕生日", :regions => [:jp]},
21
- {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => [{:after => 2020}],:name => "振替休日", :regions => [:jp]}],
20
+ {:mday => 23, :year_ranges => { :from => 2020 },:name => "天皇誕生日", :regions => [:jp]},
21
+ {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => { :from => 2020 },:name => "振替休日", :regions => [:jp]}],
22
22
  3 => [{:function => "jp_vernal_equinox_day(year)", :function_arguments => [:year], :name => "春分の日", :regions => [:jp]},
23
23
  {:function => "jp_vernal_equinox_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]}],
24
24
  4 => [{:mday => 29, :name => "昭和の日", :regions => [:jp]},
25
25
  {:mday => 29, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
26
- {:mday => 30, :year_ranges => [{:limited => [2019]}],:name => "休日", :regions => [:jp]}],
27
- 5 => [{:mday => 1, :year_ranges => [{:limited => [2019]}],:name => "天皇即位", :regions => [:jp]},
28
- {:mday => 2, :year_ranges => [{:limited => [2019]}],:name => "休日", :regions => [:jp]},
26
+ {:mday => 30, :year_ranges => { :limited => [2019] },:name => "休日", :regions => [:jp]}],
27
+ 5 => [{:mday => 1, :year_ranges => { :limited => [2019] },:name => "天皇即位", :regions => [:jp]},
28
+ {:mday => 2, :year_ranges => { :limited => [2019] },:name => "休日", :regions => [:jp]},
29
29
  {:mday => 3, :name => "憲法記念日", :regions => [:jp]},
30
30
  {:mday => 4, :name => "みどりの日", :regions => [:jp]},
31
31
  {:mday => 5, :name => "こどもの日", :regions => [:jp]},
32
32
  {:mday => 3, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
33
33
  {:mday => 4, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
34
34
  {:mday => 5, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
35
- 7 => [{:mday => 20, :year_ranges => [{:between => 1996..2002}],:name => "海の日", :regions => [:jp]},
36
- {:wday => 1, :week => 3, :year_ranges => [{:between => 2003..2019}],:name => "海の日", :regions => [:jp]},
37
- {:mday => 23, :year_ranges => [{:limited => [2020]}],:name => "海の日", :regions => [:jp]},
38
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2021}],:name => "海の日", :regions => [:jp]},
39
- {:function => "jp_marine_day_substitute(year)", :function_arguments => [:year], :year_ranges => [{:between => 1996..2002}],:name => "振替休日", :regions => [:jp]},
40
- {:mday => 24, :year_ranges => [{:limited => [2020]}],:name => "スポーツの日", :regions => [:jp]}],
41
- 8 => [{:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => [{:between => 2016..2019}],:name => "山の日", :regions => [:jp]},
42
- {:mday => 10, :year_ranges => [{:limited => [2020]}],:name => "山の日", :regions => [:jp]},
43
- {:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => [{:after => 2021}],:name => "山の日", :regions => [:jp]},
44
- {:function => "jp_mountain_holiday_substitute(year)", :function_arguments => [:year], :year_ranges => [{:after => 2016}],:name => "振替休日", :regions => [:jp]}],
35
+ 7 => [{:mday => 20, :year_ranges => { :between => 1996..2002 },:name => "海の日", :regions => [:jp]},
36
+ {:wday => 1, :week => 3, :year_ranges => { :between => 2003..2019 },:name => "海の日", :regions => [:jp]},
37
+ {:mday => 23, :year_ranges => { :limited => [2020] },:name => "海の日", :regions => [:jp]},
38
+ {:mday => 22, :year_ranges => { :limited => [2021] },:name => "海の日", :regions => [:jp]},
39
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2022 },:name => "海の日", :regions => [:jp]},
40
+ {:function => "jp_marine_day_substitute(year)", :function_arguments => [:year], :year_ranges => { :between => 1996..2002 },:name => "振替休日", :regions => [:jp]},
41
+ {:mday => 23, :year_ranges => { :limited => [2021] },:name => "スポーツの日", :regions => [:jp]},
42
+ {:mday => 24, :year_ranges => { :limited => [2020] },:name => "スポーツの日", :regions => [:jp]}],
43
+ 8 => [{:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => { :between => 2016..2019 },:name => "山の日", :regions => [:jp]},
44
+ {:mday => 10, :year_ranges => { :limited => [2020] },:name => "山の日", :regions => [:jp]},
45
+ {:mday => 8, :year_ranges => { :limited => [2021] },:name => "山の日", :regions => [:jp]},
46
+ {:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => { :from => 2022 },:name => "山の日", :regions => [:jp]},
47
+ {:function => "jp_mountain_holiday_substitute(year)", :function_arguments => [:year], :year_ranges => { :between => 2016..2020 },:name => "振替休日", :regions => [:jp]},
48
+ {:mday => 9, :year_ranges => { :limited => [2021] },:name => "振替休日", :regions => [:jp]},
49
+ {:function => "jp_mountain_holiday_substitute(year)", :function_arguments => [:year], :year_ranges => { :from => 2022 },:name => "振替休日", :regions => [:jp]}],
45
50
  9 => [{:wday => 1, :week => 3, :name => "敬老の日", :regions => [:jp]},
46
51
  {:function => "jp_respect_for_aged_holiday_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]},
47
- {:function => "jp_citizens_holiday(year)", :function_arguments => [:year], :year_ranges => [{:after => 2003}],:name => "国民の休日", :regions => [:jp]},
52
+ {:function => "jp_citizens_holiday(year)", :function_arguments => [:year], :year_ranges => { :from => 2003 },:name => "国民の休日", :regions => [:jp]},
48
53
  {:function => "jp_national_culture_day(year)", :function_arguments => [:year], :name => "秋分の日", :regions => [:jp]},
49
54
  {:function => "jp_national_culture_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]}],
50
- 10 => [{:wday => 1, :week => 2, :year_ranges => [{:before => 2019}],:name => "体育の日", :regions => [:jp]},
51
- {:wday => 1, :week => 2, :year_ranges => [{:after => 2021}],:name => "スポーツの日", :regions => [:jp]},
55
+ 10 => [{:wday => 1, :week => 2, :year_ranges => { :until => 2019 },:name => "体育の日", :regions => [:jp]},
56
+ {:wday => 1, :week => 2, :year_ranges => { :from => 2022 },:name => "スポーツの日", :regions => [:jp]},
52
57
  {:function => "jp_health_sports_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]},
53
- {:mday => 22, :year_ranges => [{:limited => [2019]}],:name => "即位礼正殿の儀", :regions => [:jp]}],
58
+ {:mday => 22, :year_ranges => { :limited => [2019] },:name => "即位礼正殿の儀", :regions => [:jp]}],
54
59
  11 => [{:mday => 3, :name => "文化の日", :regions => [:jp]},
55
60
  {:mday => 3, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
56
61
  {:mday => 23, :name => "勤労感謝の日", :regions => [:jp]},
57
62
  {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
58
- 12 => [{:mday => 23, :year_ranges => [{:before => 2018}],:name => "天皇誕生日", :regions => [:jp]},
59
- {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => [{:before => 2018}],:name => "振替休日", :regions => [:jp]}]
63
+ 12 => [{:mday => 23, :year_ranges => { :until => 2018 },:name => "天皇誕生日", :regions => [:jp]},
64
+ {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => { :until => 2018 },:name => "振替休日", :regions => [:jp]}]
60
65
  }
61
66
  end
62
67
 
@@ -0,0 +1,38 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/kz.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module KZ # :nodoc:
9
+ def self.defined_regions
10
+ [:kz]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 1 => [{:mday => 1, :name => "Jańa jyl", :regions => [:kz]},
16
+ {:mday => 2, :name => "Jańa jyl", :regions => [:kz]}],
17
+ 3 => [{:mday => 8, :name => "Halyqaralyq áıelder kúni", :regions => [:kz]},
18
+ {:mday => 21, :name => "Naýryz Meıramy", :regions => [:kz]},
19
+ {:mday => 22, :name => "Naýryz Meıramy", :regions => [:kz]},
20
+ {:mday => 23, :name => "Naýryz Meıramy", :regions => [:kz]}],
21
+ 5 => [{:mday => 1, :name => "Qazaqstan halqynyń birligi merekesi", :regions => [:kz]},
22
+ {:mday => 7, :name => "Otan Qorǵaýshy kuni", :regions => [:kz]},
23
+ {:mday => 9, :name => "Jeńis kúni", :regions => [:kz]}],
24
+ 7 => [{:mday => 6, :name => "Astana kúni", :regions => [:kz]}],
25
+ 8 => [{:mday => 30, :name => "Qazaqstan Respýblıkasynyń Konstıtýcıyasy kúni", :regions => [:kz]}],
26
+ 12 => [{:mday => 1, :name => "Túńǵysh Prezıdent kúni", :regions => [:kz]},
27
+ {:mday => 16, :name => "Táýelsizdik kúni", :regions => [:kz]},
28
+ {:mday => 17, :name => "Táýelsizdik kúni", :regions => [:kz]}]
29
+ }
30
+ end
31
+
32
+ def self.custom_methods
33
+ {
34
+
35
+ }
36
+ end
37
+ end
38
+ end
@@ -16,6 +16,8 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfaart", :regions => [:lu]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Péngschtméindeg", :regions => [:lu]}],
18
18
  1 => [{:mday => 1, :name => "Neijoerschdag", :regions => [:lu]}],
19
+ 5 => [{:mday => 1, :name => "Dag vun der Aarbecht", :regions => [:lu]},
20
+ {:mday => 9, :year_ranges => { :from => 2019 },:name => "Europadag", :regions => [:lu]}],
19
21
  6 => [{:mday => 23, :name => "Nationalfeierdag", :regions => [:lu]}],
20
22
  8 => [{:mday => 15, :name => "Léiffrawëschdag", :regions => [:lu]}],
21
23
  11 => [{:mday => 1, :name => "Allerhellgen", :regions => [:lu]}],