holidays 8.7.1 → 9.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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +2 -2
  3. data/CHANGELOG.md +9 -0
  4. data/README.md +64 -54
  5. data/holidays.gemspec +8 -3
  6. data/lib/generated_definitions/MANIFEST +5 -0
  7. data/lib/generated_definitions/REGIONS.rb +2 -2
  8. data/lib/generated_definitions/au.rb +24 -5
  9. data/lib/generated_definitions/bg.rb +7 -7
  10. data/lib/generated_definitions/br.rb +2 -1
  11. data/lib/generated_definitions/cy.rb +40 -0
  12. data/lib/generated_definitions/de.rb +11 -6
  13. data/lib/generated_definitions/europe.rb +38 -30
  14. data/lib/generated_definitions/gr.rb +38 -0
  15. data/lib/generated_definitions/hk.rb +12 -77
  16. data/lib/generated_definitions/in.rb +64 -0
  17. data/lib/generated_definitions/it.rb +1 -0
  18. data/lib/generated_definitions/ke.rb +34 -0
  19. data/lib/generated_definitions/lt.rb +2 -1
  20. data/lib/generated_definitions/northamerica.rb +13 -5
  21. data/lib/generated_definitions/nz.rb +2 -1
  22. data/lib/generated_definitions/pl.rb +2 -1
  23. data/lib/generated_definitions/ro.rb +2 -0
  24. data/lib/generated_definitions/sk.rb +2 -4
  25. data/lib/generated_definitions/southamerica.rb +1 -0
  26. data/lib/generated_definitions/tsx.rb +46 -0
  27. data/lib/generated_definitions/ups.rb +2 -1
  28. data/lib/generated_definitions/us.rb +13 -5
  29. data/lib/holidays/date_calculator/lunar_date.rb +160 -5
  30. data/lib/holidays/date_calculator/weekend_modifier.rb +13 -0
  31. data/lib/holidays/definition/context/generator.rb +2 -2
  32. data/lib/holidays/definition/generator/regions.rb +2 -1
  33. data/lib/holidays/definition/generator/test.rb +1 -1
  34. data/lib/holidays/finder/context/search.rb +4 -1
  35. data/lib/holidays/load_all_definitions.rb +4 -1
  36. data/lib/holidays/version.rb +1 -1
  37. data/test/defs/test_defs_au.rb +11 -0
  38. data/test/defs/test_defs_bg.rb +4 -4
  39. data/test/defs/test_defs_br.rb +4 -0
  40. data/test/defs/{test_defs_el.rb → test_defs_cy.rb} +18 -18
  41. data/test/defs/test_defs_de.rb +4 -0
  42. data/test/defs/test_defs_europe.rb +59 -49
  43. data/test/defs/test_defs_gr.rb +41 -0
  44. data/test/defs/test_defs_hk.rb +34 -0
  45. data/test/defs/test_defs_in.rb +94 -0
  46. data/test/defs/test_defs_it.rb +2 -0
  47. data/test/defs/test_defs_ke.rb +31 -0
  48. data/test/defs/test_defs_lt.rb +2 -0
  49. data/test/defs/test_defs_northamerica.rb +16 -9
  50. data/test/defs/test_defs_nz.rb +4 -0
  51. data/test/defs/test_defs_pl.rb +3 -1
  52. data/test/defs/test_defs_ro.rb +4 -0
  53. data/test/defs/test_defs_sk.rb +11 -15
  54. data/test/defs/test_defs_southamerica.rb +4 -0
  55. data/test/defs/test_defs_tsx.rb +70 -0
  56. data/test/defs/test_defs_us.rb +16 -9
  57. data/test/holidays/definition/generator/test_regions.rb +4 -4
  58. data/test/integration/test_available_regions.rb +1 -1
  59. data/test/integration/test_holidays.rb +1 -1
  60. metadata +27 -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/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
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/es.yaml, definitions/fr.yaml, definitions/gb.yaml, definitions/gr.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_mv, :de_by_cath, :de_by_augsburg, :de_bb, :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]
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_mv, :de_by_cath, :de_by_augsburg, :de_th, :de_bb, :de_hb, :de_hh, :de_ni, :de_sh, :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, :gr, :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
@@ -55,12 +55,6 @@ module Holidays
55
55
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -52, :type => :informal, :name => "Weiberfastnacht", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
56
56
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :type => :informal, :name => "Rosenmontag", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
57
57
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :type => :informal, :name => "Aschermittwoch", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
58
- {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Μεγάλη Παρασκευή", :regions => [:el]},
59
- {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Μεγάλο Σάββατο", :regions => [:el]},
60
- {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Κυριακή του Πάσχα", :regions => [:el]},
61
- {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Δευτέρα του Πάσχα", :regions => [:el]},
62
- {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Καθαρά Δευτέρα", :regions => [:el]},
63
- {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Αγίου Πνεύματος", :regions => [:el]},
64
58
  {: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
59
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Viernes Santo", :regions => [:es]},
66
60
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunes de Pascua", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]},
@@ -75,6 +69,12 @@ module Holidays
75
69
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:gb]},
76
70
  {:function => "easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:gb]},
77
71
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
72
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Μεγάλη Παρασκευή", :regions => [:gr]},
73
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Μεγάλο Σάββατο", :regions => [:gr]},
74
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Κυριακή του Πάσχα", :regions => [:gr]},
75
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Δευτέρα του Πάσχα", :regions => [:gr]},
76
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Καθαρά Δευτέρα", :regions => [:gr]},
77
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Αγίου Πνεύματος", :regions => [:gr]},
78
78
  {:function => "easter(year)", :function_arguments => [:year], :name => "Uskrs", :regions => [:hr]},
79
79
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
80
80
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Tijelovo", :regions => [:hr]},
@@ -149,13 +149,13 @@ module Holidays
149
149
  {:function => "easter(year)", :function_arguments => [:year], :name => "velikonočna nedelja", :regions => [:si]},
150
150
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "velikonočni ponedeljek", :regions => [:si]},
151
151
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "binkošti", :regions => [:si]},
152
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
153
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
154
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
155
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
156
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
157
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
158
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]},
152
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
153
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
154
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
155
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
156
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
157
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
158
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]},
159
159
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Великдень", :regions => [:ua]},
160
160
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Трійця", :regions => [:ua]}],
161
161
  1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
@@ -168,14 +168,15 @@ module Holidays
168
168
  {:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]},
169
169
  {:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
170
170
  {:mday => 1, :name => "Neujahrstag", :regions => [:de]},
171
- {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]},
172
- {:mday => 1, :name => "Πρωτοχρονιά", :regions => [:el]},
173
- {:mday => 6, :name => "Θεοφάνεια", :regions => [:el]},
171
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by]},
172
+ {:mday => 6, :year_ranges => { :from => 1991 },:name => "Heilige Drei Könige", :regions => [:de_st]},
174
173
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Año Nuevo", :regions => [:es]},
175
174
  {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Reyes", :regions => [:es]},
176
175
  {:mday => 1, :name => "Jour de l'an", :regions => [:fr]},
177
176
  {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:gb]},
178
177
  {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]},
178
+ {:mday => 1, :name => "Πρωτοχρονιά", :regions => [:gr]},
179
+ {:mday => 6, :name => "Θεοφάνεια", :regions => [:gr]},
179
180
  {:mday => 1, :name => "Nova godina", :regions => [:hr]},
180
181
  {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]},
181
182
  {:mday => 1, :name => "Újév", :regions => [:hu]},
@@ -199,6 +200,8 @@ module Holidays
199
200
  {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
200
201
  {:mday => 1, :name => "Anul nou", :regions => [:ro]},
201
202
  {:mday => 2, :name => "Anul nou", :regions => [:ro]},
203
+ {:mday => 6, :name => "Botezul Domnului - Boboteaza", :regions => [:ro]},
204
+ {:mday => 7, :name => "Soborul Sfântului Proroc Ioan Botezătorul", :regions => [:ro]},
202
205
  {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]},
203
206
  {:mday => 1, :name => "Nový rok", :regions => [:sk]},
204
207
  {:mday => 6, :name => "Zjavenie Pána (Traja králi)", :regions => [:sk]},
@@ -216,9 +219,8 @@ module Holidays
216
219
  {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
217
220
  {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
218
221
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
219
- {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
222
+ {:mday => 1, :year_ranges => { :from => 1933 },:name => "Tag der Arbeit", :regions => [:de]},
220
223
  {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]},
221
- {:mday => 1, :name => "Πρωτομαγιά", :regions => [:el]},
222
224
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día del Trabajador", :regions => [:es]},
223
225
  {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta de la Comunidad", :regions => [:es_m]},
224
226
  {:mday => 30, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Canarias", :regions => [:es_cn]},
@@ -232,6 +234,7 @@ module Holidays
232
234
  {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
233
235
  {:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Bank Holiday", :regions => [:gb]},
234
236
  {:wday => 1, :week => -1, :year_ranges => { :from => 2023 },:name => "Bank Holiday", :regions => [:gb]},
237
+ {:mday => 1, :name => "Πρωτομαγιά", :regions => [:gr]},
235
238
  {:mday => 1, :name => "Praznik rada", :regions => [:hr]},
236
239
  {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]},
237
240
  {:mday => 1, :name => "A munka ünnepe", :regions => [:hu]},
@@ -274,12 +277,12 @@ module Holidays
274
277
  {:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
275
278
  {:mday => 15, :name => "Mariä Himmelfahrt", :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]},
276
279
  {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by_cath, :de_by_augsburg, :de_sl]},
277
- {:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]},
278
- {:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:el]},
280
+ {:mday => 8, :year_ranges => { :from => 1950 },:name => "Friedensfest", :regions => [:de_by_augsburg]},
279
281
  {:mday => 15, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Asunción", :regions => [:es]},
280
282
  {:mday => 15, :name => "Assomption", :regions => [:fr]},
281
283
  {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
282
284
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
285
+ {:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:gr]},
283
286
  {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
284
287
  {:mday => 15, :name => "Velika Gospa", :regions => [:hr]},
285
288
  {:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]},
@@ -302,12 +305,13 @@ module Holidays
302
305
  {:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
303
306
  {:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
304
307
  {:mday => 31, :year_ranges => { :from => 2018 },:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]},
305
- {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:el]},
306
308
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
307
309
  {:mday => 12, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Hispanidad", :regions => [:es]},
310
+ {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:gr]},
308
311
  {:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]},
309
312
  {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
310
313
  {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
314
+ {:mday => 4, :year_ranges => { :from => 2026 },:name => "Festa di San Francesco d'Assisi", :regions => [:it]},
311
315
  {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
312
316
  {:mday => 5, :name => "Dia da República", :regions => [:pt]},
313
317
  {:mday => 31, :name => "dan reformacije", :regions => [:si]},
@@ -322,7 +326,9 @@ module Holidays
322
326
  {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
323
327
  {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
324
328
  {:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
325
- {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :name => "Buß- und Bettag", :regions => [:de_sn]},
329
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :from => 1990 },:name => "Buß- und Bettag", :regions => [:de_sn]},
330
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :until => 1994 },:name => "Buß- und Bettag", :regions => [:de_bw, :de_by, :de_be, :de_hb, :de_hh, :de_he, :de_ni, :de_nw, :de_rp, :de_sl, :de_sh]},
331
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :between => 1990..1994 },:name => "Buß- und Bettag", :regions => [:de_bb, :de_mv, :de_st, :de_th]},
326
332
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Todos los Santos", :regions => [:es]},
327
333
  {:mday => 1, :name => "Toussaint", :regions => [:fr]},
328
334
  {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
@@ -338,6 +344,7 @@ module Holidays
338
344
  {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]},
339
345
  {:mday => 1, :name => "Allerheiligen", :regions => [:li]},
340
346
  {:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]},
347
+ {:mday => 2, :name => "Mirusiųjų atminimo (Vėlinių) diena", :regions => [:lt]},
341
348
  {:mday => 18, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Proklamēšanas diena", :regions => [:lv]},
342
349
  {:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
343
350
  {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
@@ -346,7 +353,6 @@ module Holidays
346
353
  {:mday => 1, :name => "Dia de Todos-os-Santos", :regions => [:pt]},
347
354
  {:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]},
348
355
  {:mday => 1, :name => "Sviatok všetkých svätých", :regions => [:sk]},
349
- {:mday => 17, :name => "Deň boja za slobodu a demokraciu", :regions => [:sk]},
350
356
  {:mday => 1, :name => "dan spomina na mrtve", :regions => [:si]},
351
357
  {:mday => 1, :name => "Revival Leader's Day", :regions => [:bg_en]},
352
358
  {:mday => 1, :name => "Ден на Народните будители", :regions => [:bg_bg]}],
@@ -370,8 +376,6 @@ module Holidays
370
376
  {:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
371
377
  {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]},
372
378
  {:mday => 31, :type => :informal, :name => "Silvester", :regions => [:de]},
373
- {:mday => 25, :name => "Χριστούγεννα", :regions => [:el]},
374
- {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:el]},
375
379
  {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Constitución", :regions => [:es]},
376
380
  {:mday => 8, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Inmaculada Concepción", :regions => [:es]},
377
381
  {:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Navidad del Señor", :regions => [:es]},
@@ -380,6 +384,8 @@ module Holidays
380
384
  {:mday => 26, :name => "Saint-Étienne", :regions => [:fr_a, :fr_m]},
381
385
  {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:gb]},
382
386
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:gb]},
387
+ {:mday => 25, :name => "Χριστούγεννα", :regions => [:gr]},
388
+ {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:gr]},
383
389
  {:mday => 25, :name => "Božić", :regions => [:hr]},
384
390
  {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]},
385
391
  {:mday => 25, :name => "Karácsony", :regions => [:hu]},
@@ -414,7 +420,8 @@ module Holidays
414
420
  {:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]},
415
421
  {:mday => 4, :type => :informal, :name => "Barbórka (Dzień Górnika, Naftowca i Gazownika)", :regions => [:pl]},
416
422
  {:mday => 6, :type => :informal, :name => "Mikołajki", :regions => [:pl]},
417
- {:mday => 24, :type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
423
+ {:mday => 24, :year_ranges => { :from => 2025 },:name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
424
+ {:mday => 24, :year_ranges => { :until => 2024 },:type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
418
425
  {:mday => 25, :name => "pierwszy dzień Bożego Narodzenia", :regions => [:pl]},
419
426
  {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
420
427
  {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]},
@@ -451,11 +458,11 @@ module Holidays
451
458
  {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]},
452
459
  {:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
453
460
  {:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]},
454
- {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:el]},
455
461
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Islas Baleares", :regions => [:es_ib]},
456
462
  {: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]},
457
463
  {:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
458
464
  {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:gb_nir]},
465
+ {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:gr]},
459
466
  {:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]},
460
467
  {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:ie]},
461
468
  {:mday => 19, :name => "St. Josef", :regions => [:li]},
@@ -486,6 +493,7 @@ module Holidays
486
493
  {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
487
494
  {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
488
495
  {:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
496
+ {:mday => 17, :year_ranges => { :limited => [2028] },:name => "Jahrestag des Volksaufstands in der DDR", :regions => [:de_be]},
489
497
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región de Murcia", :regions => [:es_mu]},
490
498
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de La Rioja", :regions => [:es_lo]},
491
499
  {:mday => 24, :name => "San Juan", :regions => [:es_ct, :es_vc]},
@@ -513,6 +521,7 @@ module Holidays
513
521
  9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
514
522
  {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]},
515
523
  {:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
524
+ {:mday => 20, :year_ranges => { :from => 2019 },:name => "Weltkindertag", :regions => [:de_th]},
516
525
  {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Ceuta", :regions => [:es_ce]},
517
526
  {:mday => 8, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Asturias", :regions => [:es_o]},
518
527
  {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
@@ -523,7 +532,6 @@ module Holidays
523
532
  {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
524
533
  {:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]},
525
534
  {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
526
- {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
527
535
  {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]},
528
536
  {:mday => 6, :name => "Unification Day", :regions => [:bg_en]},
529
537
  {:mday => 6, :name => "Ден на Съединението", :regions => [:bg_bg]},
@@ -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/gr.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module GR # :nodoc:
9
+ def self.defined_regions
10
+ [:gr]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Μεγάλη Παρασκευή", :regions => [:gr]},
16
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Μεγάλο Σάββατο", :regions => [:gr]},
17
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Κυριακή του Πάσχα", :regions => [:gr]},
18
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Δευτέρα του Πάσχα", :regions => [:gr]},
19
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Καθαρά Δευτέρα", :regions => [:gr]},
20
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Αγίου Πνεύματος", :regions => [:gr]}],
21
+ 1 => [{:mday => 1, :name => "Πρωτοχρονιά", :regions => [:gr]},
22
+ {:mday => 6, :name => "Θεοφάνεια", :regions => [:gr]}],
23
+ 3 => [{:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:gr]}],
24
+ 5 => [{:mday => 1, :name => "Πρωτομαγιά", :regions => [:gr]}],
25
+ 8 => [{:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:gr]}],
26
+ 10 => [{:mday => 28, :name => "Επέτειος του Όχι", :regions => [:gr]}],
27
+ 12 => [{:mday => 25, :name => "Χριστούγεννα", :regions => [:gr]},
28
+ {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:gr]}]
29
+ }
30
+ end
31
+
32
+ def self.custom_methods
33
+ {
34
+
35
+ }
36
+ end
37
+ end
38
+ end
@@ -12,15 +12,20 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "cn_new_lunar_day(year)", :function_arguments => [:year], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Lunar New Year's Day", :regions => [:hk]},
16
- {:function => "cn_new_lunar_day(year)", :function_arguments => [:year], :function_modifier => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "The second day of Lunar New Year", :regions => [:hk]},
17
- {:function => "cn_new_lunar_day(year)", :function_arguments => [:year], :function_modifier => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "The third day of Lunar New Year", :regions => [:hk]},
18
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:hk]},
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:hk]},
19
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "The day following Good Friday", :regions => [:hk]},
20
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:hk]}],
21
- 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:hk]}],
22
- 5 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:hk]}],
18
+ 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:hk]},
19
+ {:mday => 1, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Lunar New Year's Day", :regions => [:hk]},
20
+ {:mday => 1, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_the_weekday_after(date)", :observed_arguments => [:date], :name => "The second day of Lunar New Year", :regions => [:hk]},
21
+ {:mday => 1, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_the_second_weekday_after(date)", :observed_arguments => [:date], :name => "The third day of Lunar New Year", :regions => [:hk]}],
22
+ 4 => [{:mday => 5, :observed => "to_previous_day_if_leap_year(date)", :observed_arguments => [:date], :name => "Ching Ming Festival", :regions => [:hk]},
23
+ {:mday => 8, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Buddha's Birthday", :regions => [:hk]}],
24
+ 5 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:hk]},
25
+ {:mday => 5, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Tuen Ng Festival", :regions => [:hk]}],
23
26
  7 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Hong Kong Special Administrative Region Establishment Day", :regions => [:hk]}],
27
+ 8 => [{:mday => 16, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "The day following the Chinese Mid-Autumn Festival", :regions => [:hk]}],
28
+ 9 => [{:mday => 9, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Chung Yeung Festival", :regions => [:hk]}],
24
29
  10 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "National Day", :regions => [:hk]}],
25
30
  12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:hk]},
26
31
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:hk]}]
@@ -29,77 +34,7 @@ module Holidays
29
34
 
30
35
  def self.custom_methods
31
36
  {
32
- "cn_new_lunar_day(year)" => Proc.new { |year|
33
- month_day = case year
34
- when 1930, 1949, 1987, 2025, 2063, 2082, 2101, 2112, 2131, 2150, 2207, 2245, 2253, 2283, 2321
35
- [1, 29]
36
- when 1931, 1950, 1969, 1988, 2007, 2026, 2045, 2083, 2091, 2102, 2121, 2159, 2197, 2208, 2216, 2227, 2246, 2265, 2303, 2322, 2341, 2379
37
- [2, 17]
38
- when 1932, 1951, 1970, 1989, 2027, 2046, 2114, 2179, 2198, 2209, 2247, 2266, 2304, 2323, 2342, 2361, 2399
39
- [2, 6]
40
- when 1933, 2009, 2028, 2047, 2066, 2085, 2115, 2161, 2199, 2210, 2229, 2267, 2305, 2316, 2324, 2335, 2381
41
- [1, 26]
42
- when 1934, 1953, 2037, 2048, 2067, 2086, 2105, 2116, 2181, 2189, 2211, 2257, 2268, 2306, 2325, 2336
43
- [2, 14]
44
- when 1935, 1943, 1992, 2038, 2106, 2144, 2201, 2212, 2258, 2296, 2307, 2326, 2364
45
- [2, 4]
46
- when 1936, 1955, 2001, 2039, 2058, 2088, 2107, 2164, 2183, 2221, 2259, 2278, 2308, 2327, 2373
47
- [1, 24]
48
- when 1937, 1975, 2032, 2040, 2051, 2070, 2108, 2127, 2146, 2165, 2252, 2260, 2271, 2290, 2309, 2328, 2347, 2366
49
- [2, 11]
50
- when 1938, 1957, 1976, 1995, 2014, 2033, 2071, 2109, 2128, 2185, 2272, 2291, 2329, 2348, 2367, 2386
51
- [1, 31]
52
- when 1939, 1996, 2015, 2053, 2072, 2110, 2129, 2292, 2330, 2368, 2387
53
- [2, 19]
54
- when 1940, 1959, 2016, 2035, 2081, 2130, 2149, 2187, 2206, 2225, 2236, 2255, 2312, 2350, 2358, 2369
55
- [2, 8]
56
- when 1941, 1952, 1971, 1990, 2074, 2093, 2123, 2142, 2180, 2248, 2294, 2343, 2351, 2362
57
- [1, 27]
58
- when 1942, 1961, 1972, 1991, 2056, 2075, 2094, 2124, 2143, 2200, 2276, 2295, 2344, 2363
59
- [2, 15]
60
- when 1944, 1963, 1982, 2020, 2096, 2134, 2153, 2172, 2191, 2202, 2240, 2286, 2354, 2392
61
- [1, 25]
62
- when 1945, 1964, 1983, 2010, 2029, 2162, 2192, 2230, 2249, 2317, 2382
63
- [2, 13]
64
- when 1946, 2003, 2022, 2041, 2052, 2098, 2147, 2155, 2166, 2223, 2242, 2261, 2299, 2310, 2375, 2394
65
- [2, 1]
66
- when 1947, 2004, 2042, 2050, 2080, 2118, 2137, 2194, 2270, 2289, 2300, 2338, 2376
67
- [1, 22]
68
- when 1948, 1994, 2013, 2024, 2043, 2089, 2119, 2138, 2157, 2176, 2195, 2214, 2320, 2396
69
- [2, 10]
70
- when 1954, 1973, 2011, 2057, 2068, 2087, 2125, 2163, 2231, 2277, 2288, 2345, 2383
71
- [2, 3]
72
- when 1956, 2002, 2021, 2059, 2078, 2097, 2135, 2154, 2173, 2184, 2203, 2222, 2241, 2279, 2287, 2298, 2355, 2374, 2393
73
- [2, 12]
74
- when 1958, 1977, 2034, 2140, 2178, 2235, 2254, 2273, 2311, 2349, 2360, 2398
75
- [2, 18]
76
- when 1960, 1979, 1998, 2006, 2017, 2036, 2055, 2104, 2169, 2188, 2218, 2226, 2237, 2256, 2275, 2313, 2332, 2370, 2389
77
- [1, 28]
78
- when 1962, 1981, 2000, 2019, 2065, 2076, 2084, 2095, 2133, 2152, 2171, 2190, 2220, 2239, 2285, 2315, 2334, 2353, 2372, 2391
79
- [2, 5]
80
- when 1965, 1984, 2030, 2049, 2060, 2079, 2117, 2136, 2174, 2182, 2193, 2204, 2250, 2269, 2280, 2318, 2337, 2356
81
- [2, 2]
82
- when 1966, 2023, 2061, 2099, 2186, 2262, 2281, 2357, 2395
83
- [1, 21]
84
- when 1967, 1986, 2005, 2062, 2100, 2168, 2233, 2244, 2263, 2282, 2301, 2339, 2377, 2385, 2388
85
- [2, 9]
86
- when 1968, 2044, 2090, 2120, 2139, 2158, 2177, 2196, 2215, 2234, 2264, 2302, 2340, 2359, 2378, 2397
87
- [1, 30]
88
- when 1974, 1993, 2012, 2031, 2069, 2077, 2126, 2145, 2156, 2175, 2213, 2232, 2251, 2297, 2346, 2365, 2384
89
- [1, 23]
90
- when 1978, 1997, 2008, 2054, 2073, 2092, 2103, 2111, 2122, 2141, 2160, 2217, 2228, 2274, 2293, 2331, 2380
91
- [2, 7]
92
- when 1980, 1999, 2018, 2064, 2113, 2132, 2151, 2170, 2219, 2238, 2284, 2314, 2333, 2352, 2371, 2390
93
- [2, 16]
94
- when 1985, 2148, 2167, 2205, 2224, 2243
95
- [2, 20]
96
- when 2319
97
- [2, 21]
98
- end
99
- Date.civil(year, month_day[0], month_day[1])
100
- },
101
-
102
-
37
+
103
38
  }
104
39
  end
105
40
  end
@@ -0,0 +1,64 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/in.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module IN # :nodoc:
9
+ def self.defined_regions
10
+ [:in, :in_wb, :in_od, :in_tr, :in_mh, :in_ar, :in_mz, :in_br, :in_hp, :in_gj, :in_sk, :in_ts, :in_jh, :in_py, :in_kl, :in_ka, :in_jk, :in_ap, :in_cg, :in_hr, :in_mp, :in_pb, :in_nl, :in_as, :in_ga]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:in]}],
16
+ 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:in]},
17
+ {:mday => 12, :name => "Swami Vivekananda Jayanti", :regions => [:in_wb]},
18
+ {:mday => 14, :name => "Makar Sankranti / Pongal / Magh Bihu / Uttarayan / Khichdi / Sankranti", :regions => [:in]},
19
+ {:mday => 23, :name => "Netaji Subhas Chandra Bose Jayanti", :regions => [:in_od, :in_wb, :in_tr]},
20
+ {:mday => 26, :name => "Republic Day", :regions => [:in]}],
21
+ 2 => [{:mday => 19, :name => "Chhatrapati Shivaji Maharaj Jayanti", :regions => [:in_mh]},
22
+ {:mday => 20, :name => "Arunachal Pradesh Statehood Day", :regions => [:in_ar]},
23
+ {:mday => 20, :name => "Mizoram State Day", :regions => [:in_mz]}],
24
+ 3 => [{:mday => 22, :name => "Bihar Day", :regions => [:in_br]}],
25
+ 4 => [{:mday => 1, :name => "Odisha Day", :regions => [:in_od]},
26
+ {:mday => 14, :name => "Dr. B. R. Ambedkar Jayanti", :regions => [:in]},
27
+ {:mday => 15, :name => "Himachal Pradesh Day", :regions => [:in_hp]},
28
+ {:mday => 15, :name => "West Bengal Day", :regions => [:in_wb]}],
29
+ 5 => [{:mday => 1, :name => "Gujarat Day", :regions => [:in_gj]},
30
+ {:mday => 1, :name => "Maharashtra Day", :regions => [:in_mh]},
31
+ {:mday => 1, :name => "Labour Day", :regions => [:in]},
32
+ {:mday => 7, :name => "Rabindranath Tagore Jayanti", :regions => [:in_wb]},
33
+ {:mday => 16, :name => "Sikkim State Day", :regions => [:in_sk]}],
34
+ 6 => [{:mday => 2, :name => "Telangana Formation Day", :regions => [:in_ts]}],
35
+ 7 => [{:mday => 13, :name => "Martyrs' Day", :regions => [:in_jh]}],
36
+ 8 => [{:mday => 15, :name => "Independence day", :regions => [:in]},
37
+ {:mday => 16, :name => "Puducherry De Jure Transfer Day", :regions => [:in_py]},
38
+ {:mday => 20, :name => "Sree Narayana Guru Jayanti", :regions => [:in_kl]}],
39
+ 9 => [{:mday => 17, :name => "Hyderabad-Karnataka Liberation Day", :regions => [:in_ka]}],
40
+ 10 => [{:mday => 2, :name => "Mahatma Gandhi Jayanti", :regions => [:in]},
41
+ {:mday => 26, :name => "Jammu and Kashmir Association Day", :regions => [:in_jk]},
42
+ {:mday => 31, :name => "Sardar Vallabhbhai Patel Jayanti", :regions => [:in_gj]}],
43
+ 11 => [{:mday => 1, :name => "Andhra Pradesh Day", :regions => [:in_ap]},
44
+ {:mday => 1, :name => "Chhattisgarh Rajyotsava", :regions => [:in_cg]},
45
+ {:mday => 1, :name => "Haryana Day", :regions => [:in_hr]},
46
+ {:mday => 1, :name => "Kannada Rajyothsava", :regions => [:in_ka]},
47
+ {:mday => 1, :name => "Kerala Day", :regions => [:in_kl]},
48
+ {:mday => 1, :name => "Madhya Pradesh Day", :regions => [:in_mp]},
49
+ {:mday => 1, :name => "Punjab Day", :regions => [:in_pb]},
50
+ {:mday => 1, :name => "Puducherry Liberation Day", :regions => [:in_py]}],
51
+ 12 => [{:mday => 1, :name => "Nagaland State Inauguration Day", :regions => [:in_nl]},
52
+ {:mday => 2, :name => "Asom Day", :regions => [:in_as]},
53
+ {:mday => 19, :name => "Goa Liberation Day", :regions => [:in_ga]},
54
+ {:mday => 25, :name => "Christmas Day", :regions => [:in]}]
55
+ }
56
+ end
57
+
58
+ def self.custom_methods
59
+ {
60
+
61
+ }
62
+ end
63
+ end
64
+ end
@@ -27,6 +27,7 @@ module Holidays
27
27
  {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]}],
28
28
  8 => [{:mday => 15, :name => "Assunzione", :regions => [:it]}],
29
29
  9 => [{:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]}],
30
+ 10 => [{:mday => 4, :year_ranges => { :from => 2026 },:name => "Festa di San Francesco d'Assisi", :regions => [:it]}],
30
31
  11 => [{:mday => 1, :name => "Ognissanti", :regions => [:it]},
31
32
  {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
32
33
  {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]}],
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/ke.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module KE # :nodoc:
9
+ def self.defined_regions
10
+ [:ke]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:ke]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ke]}],
17
+ 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ke]}],
18
+ 5 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:ke]}],
19
+ 6 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Madaraka Day", :regions => [:ke]}],
20
+ 10 => [{:mday => 10, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Huduma Day", :regions => [:ke]},
21
+ {:mday => 20, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Mashujaa Day", :regions => [:ke]}],
22
+ 12 => [{:mday => 12, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Jamhuri Day", :regions => [:ke]},
23
+ {:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ke]},
24
+ {:mday => 26, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Utamaduni Day", :regions => [:ke]}]
25
+ }
26
+ end
27
+
28
+ def self.custom_methods
29
+ {
30
+
31
+ }
32
+ end
33
+ end
34
+ end
@@ -21,7 +21,8 @@ module Holidays
21
21
  6 => [{:mday => 24, :name => "Joninės", :regions => [:lt]}],
22
22
  7 => [{:mday => 6, :name => "Valstybės diena", :regions => [:lt]}],
23
23
  8 => [{:mday => 15, :name => "Žolinė", :regions => [:lt]}],
24
- 11 => [{:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]}],
24
+ 11 => [{:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]},
25
+ {:mday => 2, :name => "Mirusiųjų atminimo (Vėlinių) diena", :regions => [:lt]}],
25
26
  12 => [{:mday => 24, :name => "Šv. Kūčios", :regions => [:lt]},
26
27
  {:mday => 25, :name => "Šv. Kalėdos", :regions => [:lt]},
27
28
  {:mday => 26, :name => "Antroji Kalėdų diena", :regions => [:lt]}]
@@ -7,7 +7,7 @@ module Holidays
7
7
  # All the definitions are available at https://github.com/holidays/holidays
8
8
  module NORTHAMERICA # :nodoc:
9
9
  def self.defined_regions
10
- [:ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :mx, :mx_pue, :us_fl, :us_la, :us, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_al, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_pa, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok]
10
+ [:ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :mx, :mx_pue, :us_fl, :us_al, :us_la, :us, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pa, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
@@ -16,9 +16,9 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Easter Sunday", :regions => [:ca]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :type => :informal, :name => "Easter Monday", :regions => [:ca]},
18
18
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Shrove Tuesday", :regions => [:us_fl]},
19
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Mardi Gras Day", :regions => [:us_la]},
19
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Mardi Gras Day", :regions => [:us_al, :us_la]},
20
20
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Good Friday", :regions => [:us]},
21
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_la, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn]},
21
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_la, :us_nj, :us_nc, :us_nd, :us_pa, :us_pr, :us_tn]},
22
22
  {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Easter Sunday", :regions => [:us]}],
23
23
  1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ca]},
24
24
  {:mday => 2, :name => "New Year's", :regions => [:ca_qc]},
@@ -118,6 +118,7 @@ module Holidays
118
118
  {:mday => 2, :type => :informal, :name => "Los Fieles Difuntos", :regions => [:mx]},
119
119
  {:wday => 1, :week => 3, :name => "Día de la Revolución", :regions => [:mx]},
120
120
  {:function => "election_day(year)", :function_arguments => [:year], :name => "Election Day", :regions => [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri]},
121
+ {:function => "even_year_election_day(year)", :function_arguments => [:year], :name => "Election Day", :regions => [:us_la]},
121
122
  {:mday => 11, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:us]},
122
123
  {:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]},
123
124
  {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Family Day", :regions => [:us_nv]},
@@ -145,10 +146,11 @@ module Holidays
145
146
  {:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Emancipation Day", :regions => [:us_dc]},
146
147
  {:wday => 1, :week => 3, :name => "Patriots' Day", :regions => [:us_me, :us_ma]},
147
148
  {:mday => 21, :name => "San Jacinto Day", :regions => [:us_tx]},
148
- {:wday => 1, :week => -1, :name => "Confederate Memorial Day", :regions => [:us_al, :us_ms]},
149
+ {:wday => 1, :week => -1, :name => "Confederate Memorial Day", :regions => [:us_ms]},
150
+ {:wday => 1, :week => 4, :name => "Confederate Memorial Day", :regions => [:us_al]},
149
151
  {:mday => 26, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Confederate Memorial Day", :regions => [:us_fl]},
150
152
  {:function => "georgia_state_holiday(year, month)", :function_arguments => [:year, :month], :name => "State Holiday", :regions => [:us_ga]},
151
- {:mday => 28, :name => "Arbor Day", :regions => [:us_ne]},
153
+ {:wday => 5, :week => -1, :name => "Arbor Day", :regions => [:us_ne]},
152
154
  {:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
153
155
  {:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}]
154
156
  }
@@ -214,6 +216,12 @@ king_day.downto(beginning_of_month).find {|date| date if date.wday == 5 }
214
216
  Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 11, 1, 1) + 1
215
217
  },
216
218
 
219
+ "even_year_election_day(year)" => Proc.new { |year|
220
+ if year % 2 == 0
221
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 11, 1, 1) + 1
222
+ end
223
+ },
224
+
217
225
  "us_inauguration_day(year)" => Proc.new { |year|
218
226
  year % 4 == 1 ? 20 : nil
219
227
  },
@@ -26,7 +26,8 @@ module Holidays
26
26
  3 => [{:mday => 23, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Otago Anniversary Day", :regions => [:nz_ot]},
27
27
  {:wday => 1, :week => 2, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Taranaki Anniversary Day", :regions => [:nz_ta]}],
28
28
  4 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:nz]}],
29
- 6 => [{:wday => 1, :week => 1, :name => "Queen's Birthday", :regions => [:nz]}],
29
+ 6 => [{:wday => 1, :week => 1, :year_ranges => { :until => 2022 },:name => "Queen's Birthday", :regions => [:nz]},
30
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2023 },:name => "King's Birthday", :regions => [:nz]}],
30
31
  9 => [{:wday => 1, :week => 4, :name => "Dominion Day", :regions => [:nz_sc]}],
31
32
  10 => [{:wday => 1, :week => 1, :observed => "previous_friday(date)", :observed_arguments => [:date], :name => "Hawke's bay Anniversary Day", :regions => [:nz_hb]},
32
33
  {:wday => 1, :week => 4, :name => "Labour Day", :regions => [:nz]},
@@ -48,7 +48,8 @@ module Holidays
48
48
  {:mday => 29, :type => :informal, :name => "Andrzejki", :regions => [:pl]}],
49
49
  12 => [{:mday => 4, :type => :informal, :name => "Barbórka (Dzień Górnika, Naftowca i Gazownika)", :regions => [:pl]},
50
50
  {:mday => 6, :type => :informal, :name => "Mikołajki", :regions => [:pl]},
51
- {:mday => 24, :type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
51
+ {:mday => 24, :year_ranges => { :from => 2025 },:name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
52
+ {:mday => 24, :year_ranges => { :until => 2024 },:type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
52
53
  {:mday => 25, :name => "pierwszy dzień Bożego Narodzenia", :regions => [:pl]},
53
54
  {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
54
55
  {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]}]
@@ -19,6 +19,8 @@ module Holidays
19
19
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Rusaliile - 51", :regions => [:ro]}],
20
20
  1 => [{:mday => 1, :name => "Anul nou", :regions => [:ro]},
21
21
  {:mday => 2, :name => "Anul nou", :regions => [:ro]},
22
+ {:mday => 6, :name => "Botezul Domnului - Boboteaza", :regions => [:ro]},
23
+ {:mday => 7, :name => "Soborul Sfântului Proroc Ioan Botezătorul", :regions => [:ro]},
22
24
  {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]}],
23
25
  5 => [{:mday => 1, :name => "Ziua muncii", :regions => [:ro]}],
24
26
  6 => [{:mday => 1, :year_ranges => { :from => 2017 },:name => "Ziua Copilului", :regions => [:ro]}],