holidays 6.6.1 → 8.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +25 -0
  3. data/CHANGELOG.md +72 -0
  4. data/README.md +10 -6
  5. data/doc/CONTRIBUTING.md +2 -1
  6. data/holidays.gemspec +5 -5
  7. data/lib/generated_definitions/MANIFEST +11 -5
  8. data/lib/generated_definitions/REGIONS.rb +2 -2
  9. data/lib/generated_definitions/ar.rb +28 -9
  10. data/lib/generated_definitions/at.rb +2 -2
  11. data/lib/generated_definitions/au.rb +47 -10
  12. data/lib/generated_definitions/be_fr.rb +2 -2
  13. data/lib/generated_definitions/be_nl.rb +2 -2
  14. data/lib/generated_definitions/bg.rb +2 -2
  15. data/lib/generated_definitions/br.rb +2 -2
  16. data/lib/generated_definitions/ca.rb +25 -17
  17. data/lib/generated_definitions/ch.rb +15 -3
  18. data/lib/generated_definitions/cl.rb +7 -7
  19. data/lib/generated_definitions/co.rb +2 -2
  20. data/lib/generated_definitions/cr.rb +2 -2
  21. data/lib/generated_definitions/cz.rb +2 -2
  22. data/lib/generated_definitions/de.rb +11 -7
  23. data/lib/generated_definitions/dk.rb +3 -3
  24. data/lib/generated_definitions/{ecb_target.rb → ecbtarget.rb} +10 -10
  25. data/lib/generated_definitions/ee.rb +2 -2
  26. data/lib/generated_definitions/el.rb +2 -2
  27. data/lib/generated_definitions/es.rb +6 -4
  28. data/lib/generated_definitions/europe.rb +119 -32
  29. data/lib/generated_definitions/{federal_reserve.rb → federalreserve.rb} +15 -14
  30. data/lib/generated_definitions/federalreservebanks.rb +35 -0
  31. data/lib/generated_definitions/fedex.rb +2 -2
  32. data/lib/generated_definitions/fi.rb +2 -2
  33. data/lib/generated_definitions/fr.rb +4 -4
  34. data/lib/generated_definitions/gb.rb +15 -7
  35. data/lib/generated_definitions/ge.rb +2 -2
  36. data/lib/generated_definitions/hk.rb +2 -2
  37. data/lib/generated_definitions/hr.rb +10 -8
  38. data/lib/generated_definitions/hu.rb +4 -3
  39. data/lib/generated_definitions/ie.rb +2 -2
  40. data/lib/generated_definitions/is.rb +2 -2
  41. data/lib/generated_definitions/it.rb +16 -7
  42. data/lib/generated_definitions/jp.rb +31 -16
  43. data/lib/generated_definitions/kr.rb +2 -2
  44. data/lib/generated_definitions/kz.rb +38 -0
  45. data/lib/generated_definitions/li.rb +2 -2
  46. data/lib/generated_definitions/lt.rb +2 -2
  47. data/lib/generated_definitions/lu.rb +4 -2
  48. data/lib/generated_definitions/lv.rb +56 -0
  49. data/lib/generated_definitions/ma.rb +2 -2
  50. data/lib/generated_definitions/mt_en.rb +2 -2
  51. data/lib/generated_definitions/mt_mt.rb +2 -2
  52. data/lib/generated_definitions/mx.rb +7 -7
  53. data/lib/generated_definitions/my.rb +2 -2
  54. data/lib/generated_definitions/nerc.rb +2 -2
  55. data/lib/generated_definitions/ng.rb +33 -0
  56. data/lib/generated_definitions/nl.rb +2 -2
  57. data/lib/generated_definitions/no.rb +2 -2
  58. data/lib/generated_definitions/{north_america.rb → northamerica.rb} +34 -26
  59. data/lib/generated_definitions/nyse.rb +3 -2
  60. data/lib/generated_definitions/nz.rb +41 -3
  61. data/lib/generated_definitions/pe.rb +2 -2
  62. data/lib/generated_definitions/ph.rb +2 -2
  63. data/lib/generated_definitions/pl.rb +2 -2
  64. data/lib/generated_definitions/pt.rb +2 -2
  65. data/lib/generated_definitions/ro.rb +6 -3
  66. data/lib/generated_definitions/rs_cyrl.rb +3 -3
  67. data/lib/generated_definitions/rs_la.rb +3 -3
  68. data/lib/generated_definitions/ru.rb +2 -2
  69. data/lib/generated_definitions/scandinavia.rb +3 -3
  70. data/lib/generated_definitions/se.rb +2 -2
  71. data/lib/generated_definitions/sg.rb +2 -2
  72. data/lib/generated_definitions/si.rb +4 -3
  73. data/lib/generated_definitions/sk.rb +2 -2
  74. data/lib/generated_definitions/{south_america.rb → southamerica.rb} +32 -13
  75. data/lib/generated_definitions/th.rb +36 -0
  76. data/lib/generated_definitions/tn.rb +2 -2
  77. data/lib/generated_definitions/tr.rb +7 -5
  78. data/lib/generated_definitions/ua.rb +37 -0
  79. data/lib/generated_definitions/{united_nations.rb → unitednations.rb} +61 -61
  80. data/lib/generated_definitions/ups.rb +2 -2
  81. data/lib/generated_definitions/us.rb +9 -9
  82. data/lib/generated_definitions/ve.rb +2 -2
  83. data/lib/generated_definitions/vi.rb +2 -2
  84. data/lib/generated_definitions/za.rb +3 -3
  85. data/lib/holidays/definition/context/generator.rb +23 -70
  86. data/lib/holidays/definition/generator/module.rb +54 -0
  87. data/lib/holidays/definition/generator/regions.rb +1 -1
  88. data/lib/holidays/definition/repository/holidays_by_month.rb +9 -1
  89. data/lib/holidays/factory/definition.rb +7 -0
  90. data/lib/holidays/finder/context/search.rb +35 -31
  91. data/lib/holidays/finder/rules/year_range.rb +30 -54
  92. data/lib/holidays/version.rb +1 -1
  93. data/lib/holidays.rb +2 -0
  94. data/test/coverage_report.rb +23 -5
  95. data/test/data/test_custom_year_range_holiday_defs.yaml +6 -10
  96. data/test/data/test_multiple_regions_with_conflicts_region_1.yaml +38 -0
  97. data/test/data/test_multiple_regions_with_conflicts_region_2.yaml +38 -0
  98. data/test/defs/test_defs_ar.rb +20 -4
  99. data/test/defs/test_defs_au.rb +22 -0
  100. data/test/defs/test_defs_ca.rb +71 -8
  101. data/test/defs/test_defs_ch.rb +4 -0
  102. data/test/defs/test_defs_co.rb +3 -3
  103. data/test/defs/test_defs_de.rb +8 -0
  104. data/test/defs/test_defs_dk.rb +4 -0
  105. data/test/defs/{test_defs_ecb_target.rb → test_defs_ecbtarget.rb} +11 -11
  106. data/test/defs/test_defs_es.rb +2 -0
  107. data/test/defs/test_defs_europe.rb +233 -14
  108. data/test/defs/test_defs_federalreserve.rb +119 -0
  109. data/test/defs/test_defs_federalreservebanks.rb +251 -0
  110. data/test/defs/test_defs_fr.rb +3 -3
  111. data/test/defs/test_defs_gb.rb +42 -0
  112. data/test/defs/test_defs_hr.rb +6 -6
  113. data/test/defs/test_defs_hu.rb +12 -4
  114. data/test/defs/test_defs_it.rb +20 -0
  115. data/test/defs/test_defs_jp.rb +22 -2
  116. data/test/defs/test_defs_kz.rb +39 -0
  117. data/test/defs/test_defs_lu.rb +6 -0
  118. data/test/defs/test_defs_lv.rb +98 -0
  119. data/test/defs/test_defs_mx.rb +3 -1
  120. data/test/defs/test_defs_ng.rb +29 -0
  121. data/test/defs/{test_defs_north_america.rb → test_defs_northamerica.rb} +85 -20
  122. data/test/defs/test_defs_nyse.rb +7 -0
  123. data/test/defs/test_defs_nz.rb +4 -0
  124. data/test/defs/test_defs_ro.rb +14 -0
  125. data/test/defs/test_defs_rs_cyrl.rb +1 -1
  126. data/test/defs/test_defs_rs_la.rb +1 -1
  127. data/test/defs/test_defs_scandinavia.rb +4 -0
  128. data/test/defs/{test_defs_south_america.rb → test_defs_southamerica.rb} +25 -9
  129. data/test/defs/test_defs_th.rb +33 -0
  130. data/test/defs/test_defs_tr.rb +7 -0
  131. data/test/defs/test_defs_ua.rb +41 -0
  132. data/test/defs/{test_defs_united_nations.rb → test_defs_unitednations.rb} +3 -3
  133. data/test/defs/test_defs_us.rb +11 -11
  134. data/test/holidays/core_extensions/test_date.rb +3 -2
  135. data/test/holidays/definition/context/test_generator.rb +17 -20
  136. data/test/holidays/definition/generator/test_module.rb +268 -0
  137. data/test/holidays/definition/repository/test_holidays_by_month.rb +121 -1
  138. data/test/holidays/finder/rules/test_year_range.rb +43 -47
  139. data/test/integration/test_available_regions.rb +1 -1
  140. data/test/integration/test_custom_year_range_holidays.rb +0 -7
  141. data/test/integration/test_holidays.rb +2 -36
  142. data/test/integration/test_holidays_between.rb +11 -1
  143. data/test/integration/test_multiple_regions_with_conflict.rb +29 -0
  144. data/test/integration/test_nonstandard_regions.rb +25 -0
  145. metadata +61 -32
  146. data/test/defs/test_defs_federal_reserve.rb +0 -113
@@ -2,17 +2,17 @@
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
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_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]
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]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:at]},
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:at]},
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:at]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:at]},
18
18
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:at]},
@@ -41,7 +41,7 @@ module Holidays
41
41
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:dk]},
42
42
  {:function => "easter(year)", :function_arguments => [:year], :name => "Påskedag", :regions => [:dk]},
43
43
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. påskedag", :regions => [:dk]},
44
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 26, :name => "Store Bededag", :regions => [:dk]},
44
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 26, :year_ranges => { :until => 2023 },:name => "Store Bededag", :regions => [:dk]},
45
45
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:dk]},
46
46
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pinsedag", :regions => [:dk]},
47
47
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. Pinsedag", :regions => [:dk]},
@@ -64,20 +64,23 @@ 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]},
70
71
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Ascension", :regions => [:fr]},
71
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :type => :informal, :name => "Pentecôte", :regions => [:fr]},
72
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lundi de Pentecôte", :regions => [:fr]},
72
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pentecôte", :regions => [:fr]},
73
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :type => :informal, :name => "Lundi de Pentecôte", :regions => [:fr]},
74
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -21, :type => :informal, :name => "Mothering Sunday", :regions => [:gb]},
73
75
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:gb]},
74
76
  {:function => "easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:gb]},
75
77
  {: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]},
76
78
  {:function => "easter(year)", :function_arguments => [:year], :name => "Uskrs", :regions => [:hr]},
77
79
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
78
80
  {: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]},
81
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2017 },:name => "Nagypéntek", :regions => [:hu]},
82
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvéthétfő", :regions => [:hu]},
83
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösdhétfő", :regions => [:hu]},
81
84
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ie]},
82
85
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Bolludagur", :regions => [:is]},
83
86
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Sprengidagur", :regions => [:is]},
@@ -101,6 +104,11 @@ module Holidays
101
104
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:li]},
102
105
  {:function => "easter(year)", :function_arguments => [:year], :name => "Šv. Velykos", :regions => [:lt]},
103
106
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Antroji Velykų diena", :regions => [:lt]},
107
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Lielā Piektdiena", :regions => [:lv]},
108
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Pirmās Lieldienas", :regions => [:lv]},
109
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Otrās Lieldienas", :regions => [:lv]},
110
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Vasarsvētki", :regions => [:lv]},
111
+ {: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
112
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Goede Vrijdag", :regions => [:nl]},
105
113
  {:function => "easter(year)", :function_arguments => [:year], :name => "Eerste Paasdag", :regions => [:nl]},
106
114
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Tweede Paasdag", :regions => [:nl]},
@@ -131,6 +139,7 @@ module Holidays
131
139
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Sexta-feira Santa", :regions => [:pt]},
132
140
  {:function => "easter(year)", :function_arguments => [:year], :name => "Páscoa", :regions => [:pt]},
133
141
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Corpo de Deus", :regions => [:pt]},
142
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2018 },:name => "Paștele - Vinerea Mare", :regions => [:ro]},
134
143
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Paștele - duminică", :regions => [:ro]},
135
144
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paștele - luni", :regions => [:ro]},
136
145
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Rusaliile - 50", :regions => [:ro]},
@@ -146,7 +155,9 @@ module Holidays
146
155
  {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
147
156
  {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
148
157
  {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
149
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]}],
158
+ {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]},
159
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Великдень", :regions => [:ua]},
160
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Трійця", :regions => [:ua]}],
150
161
  1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
151
162
  {:mday => 6, :name => "Heilige Drei Könige", :regions => [:at]},
152
163
  {:mday => 1, :name => "Jour de l'an", :regions => [:be_fr]},
@@ -166,7 +177,7 @@ module Holidays
166
177
  {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:gb]},
167
178
  {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]},
168
179
  {:mday => 1, :name => "Nova godina", :regions => [:hr]},
169
- {:mday => 6, :name => "Sveta tri kralja", :regions => [:hr]},
180
+ {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]},
170
181
  {:mday => 1, :name => "Újév", :regions => [:hu]},
171
182
  {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ie]},
172
183
  {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
@@ -177,6 +188,7 @@ module Holidays
177
188
  {:mday => 1, :name => "Neujahrstag", :regions => [:li]},
178
189
  {:mday => 6, :name => "Heilige Drei Könige", :regions => [:li]},
179
190
  {:mday => 1, :name => "Naujieji metai", :regions => [:lt]},
191
+ {:mday => 1, :name => "Jaungada diena", :regions => [:lv]},
180
192
  {:mday => 1, :name => "Nieuwjaarsdag", :regions => [:nl]},
181
193
  {:mday => 1, :name => "Nyttårsdag", :regions => [:no]},
182
194
  {:mday => 1, :name => "Nowy Rok", :regions => [:pl]},
@@ -187,11 +199,15 @@ module Holidays
187
199
  {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
188
200
  {:mday => 1, :name => "Anul nou", :regions => [:ro]},
189
201
  {:mday => 2, :name => "Anul nou", :regions => [:ro]},
202
+ {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]},
190
203
  {:mday => 1, :name => "Nový rok", :regions => [:sk]},
191
204
  {:mday => 6, :name => "Zjavenie Pána (Traja králi)", :regions => [:sk]},
192
205
  {:mday => 1, :name => "novo leto", :regions => [:si]},
206
+ {:mday => 2, :name => "novo leto", :regions => [:si]},
193
207
  {:mday => 1, :name => "New Year's Day", :regions => [:bg_en]},
194
- {:mday => 1, :name => "Нова година", :regions => [:bg_bg]}],
208
+ {:mday => 1, :name => "Нова година", :regions => [:bg_bg]},
209
+ {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Новий Рік", :regions => [:ua]},
210
+ {:mday => 7, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
195
211
  5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]},
196
212
  {:mday => 1, :name => "Fête du travail", :regions => [:be_fr]},
197
213
  {:mday => 1, :name => "Feest van de Arbeid", :regions => [:be_nl]},
@@ -201,6 +217,7 @@ module Holidays
201
217
  {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
202
218
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
203
219
  {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
220
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]},
204
221
  {:mday => 1, :name => "Πρωτομαγιά", :regions => [:el]},
205
222
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día del Trabajador", :regions => [:es]},
206
223
  {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta de la Comunidad", :regions => [:es_m]},
@@ -208,17 +225,27 @@ module Holidays
208
225
  {:mday => 31, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región Castilla-La Mancha", :regions => [:es_cm]},
209
226
  {:mday => 1, :name => "Fête du travail", :regions => [:fr]},
210
227
  {:mday => 8, :name => "Victoire 1945", :regions => [:fr]},
211
- {:wday => 1, :week => 1, :name => "May Day", :regions => [:gb]},
228
+ {:wday => 1, :week => 1, :year_ranges => { :until => 2019 },:name => "May Day", :regions => [:gb]},
229
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "May Day", :regions => [:gb]},
230
+ {:mday => 8, :year_ranges => { :limited => [2023] },:name => "Bank Holiday for the Coronation of King Charles III", :regions => [:gb, :gb]},
231
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2021 },:name => "May Day", :regions => [:gb]},
212
232
  {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
213
- {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]},
214
- {:mday => 1, :name => "Međunarodni praznik rada", :regions => [:hr]},
233
+ {:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Bank Holiday", :regions => [:gb]},
234
+ {:wday => 1, :week => -1, :year_ranges => { :from => 2023 },:name => "Bank Holiday", :regions => [:gb]},
235
+ {:mday => 1, :name => "Praznik rada", :regions => [:hr]},
236
+ {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]},
215
237
  {:mday => 1, :name => "A munka ünnepe", :regions => [:hu]},
216
238
  {:wday => 1, :week => 1, :name => "May Day", :regions => [:ie]},
217
239
  {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
218
240
  {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
219
241
  {:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
242
+ {:mday => 21, :name => "Festa di San Zeno", :regions => [:it_vr]},
220
243
  {:mday => 1, :name => "Tag der Arbeit", :regions => [:li]},
221
244
  {:mday => 1, :name => "Darbininkų diena", :regions => [:lt]},
245
+ {:mday => 1, :name => "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", :regions => [:lv]},
246
+ {:mday => 4, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Neatkarības atjaunošanas diena", :regions => [:lv]},
247
+ {:wday => 0, :week => 2, :name => "Mātes diena", :regions => [:lv]},
248
+ {:mday => 29, :year_ranges => { :limited => [2023] },:name => "Diena, kad Latvijas hokeja komanda ieguva bronzas medaļu 2023. gada Pasaules hokeja čempionātā", :regions => [:lv]},
222
249
  {:mday => 4, :type => :informal, :name => "Dodenherdenking", :regions => [:nl]},
223
250
  {:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]},
224
251
  {:mday => 1, :name => "1. mai", :regions => [:no]},
@@ -237,7 +264,10 @@ module Holidays
237
264
  {:mday => 6, :name => "St. George's Day", :regions => [:bg_en]},
238
265
  {:mday => 6, :name => "Гергьовден. Ден на храбростта", :regions => [:bg_bg]},
239
266
  {:mday => 24, :name => "Slavic Literacy Day", :regions => [:bg_en]},
240
- {:mday => 24, :name => "Ден на славянската писменост", :regions => [:bg_bg]}],
267
+ {:mday => 24, :name => "Ден на славянската писменост", :regions => [:bg_bg]},
268
+ {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День праці", :regions => [:ua]},
269
+ {:mday => 2, :year_ranges => { :until => 2017 },:name => "День міжнародної солідарності трудящих", :regions => [:ua]},
270
+ {:mday => 9, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День перемоги над нацизмом у Другій світовій війні", :regions => [:ua]}],
241
271
  8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at]},
242
272
  {:mday => 15, :name => "Assomption", :regions => [:be_fr]},
243
273
  {:mday => 15, :name => "O.L.V. Hemelvaart", :regions => [:be_nl]},
@@ -250,7 +280,7 @@ module Holidays
250
280
  {:mday => 15, :name => "Assomption", :regions => [:fr]},
251
281
  {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
252
282
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
253
- {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i dan hrvatskih branitelja", :regions => [:hr]},
283
+ {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
254
284
  {:mday => 15, :name => "Velika Gospa", :regions => [:hr]},
255
285
  {:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]},
256
286
  {:wday => 1, :week => 1, :name => "August Bank Holiday", :regions => [:ie]},
@@ -263,28 +293,31 @@ module Holidays
263
293
  {:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]},
264
294
  {:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]},
265
295
  {:mday => 29, :name => "Výročie Slovenského národného povstania", :regions => [:sk]},
266
- {:mday => 15, :name => "Marijino vnebovzetje", :regions => [:si]}],
296
+ {:mday => 15, :name => "Marijino vnebovzetje", :regions => [:si]},
297
+ {:mday => 24, :year_ranges => { :from => 1992 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Незалежності", :regions => [:ua]}],
267
298
  10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]},
268
299
  {:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]},
269
- {:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]},
300
+ {:mday => 3, :year_ranges => { :from => 1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
270
301
  {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
271
302
  {:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
272
- {:mday => 31, :year_ranges => [{:limited => [2017]}],:name => "Reformationstag", :regions => [:de]},
273
- {:mday => 31, :year_ranges => [{:after => 2018}],:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]},
303
+ {:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
304
+ {:mday => 31, :year_ranges => { :from => 2018 },:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]},
274
305
  {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:el]},
275
306
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
276
307
  {:mday => 12, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Hispanidad", :regions => [:es]},
277
- {:mday => 8, :name => "Dan neovisnosti", :regions => [:hr]},
308
+ {:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]},
278
309
  {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
279
310
  {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
280
311
  {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
281
312
  {:mday => 5, :name => "Dia da República", :regions => [:pt]},
282
- {:mday => 31, :name => "dan reformacije", :regions => [:si]}],
313
+ {:mday => 31, :name => "dan reformacije", :regions => [:si]},
314
+ {:mday => 14, :year_ranges => { :from => 2015 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День захисника України", :regions => [:ua]}],
283
315
  11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]},
284
316
  {:mday => 1, :name => "Toussaint", :regions => [:be_fr]},
285
317
  {:mday => 11, :name => "Armistice 1918", :regions => [:be_fr]},
286
318
  {:mday => 1, :name => "Allerheiligen", :regions => [:be_nl]},
287
319
  {:mday => 11, :name => "Wapenstilstand 1918", :regions => [:be_nl]},
320
+ {:function => "ch_be_zibelemaerit(year)", :function_arguments => [:year], :name => "Zibelemärit", :regions => [:ch_be]},
288
321
  {: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]},
289
322
  {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
290
323
  {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
@@ -294,14 +327,18 @@ module Holidays
294
327
  {:mday => 1, :name => "Toussaint", :regions => [:fr]},
295
328
  {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
296
329
  {:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
297
- {: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]},
298
- {:mday => 30, :year_ranges => [{:after => 2007}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]},
299
- {:mday => 1, :name => "Dan svih svetih", :regions => [:hr]},
330
+ {: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]},
331
+ {:mday => 30, :year_ranges => { :from => 2007 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]},
332
+ {:mday => 1, :name => "Svi sveti", :regions => [:hr]},
333
+ {: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]},
300
334
  {:mday => 1, :name => "Mindenszentek", :regions => [:hu]},
301
335
  {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]},
302
336
  {:mday => 1, :name => "Ognissanti", :regions => [:it]},
337
+ {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
338
+ {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]},
303
339
  {:mday => 1, :name => "Allerheiligen", :regions => [:li]},
304
340
  {:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]},
341
+ {:mday => 18, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Proklamēšanas diena", :regions => [:lv]},
305
342
  {:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
306
343
  {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
307
344
  {:mday => 11, :name => "Narodowe Święto Niepodległości", :regions => [:pl]},
@@ -364,6 +401,10 @@ module Holidays
364
401
  {:mday => 24, :name => "Šv. Kūčios", :regions => [:lt]},
365
402
  {:mday => 25, :name => "Šv. Kalėdos", :regions => [:lt]},
366
403
  {:mday => 26, :name => "Antroji Kalėdų diena", :regions => [:lt]},
404
+ {:mday => 24, :name => "Ziemassvētku vakars", :regions => [:lv]},
405
+ {:mday => 25, :name => "Pirmie Ziemassvētki", :regions => [:lv]},
406
+ {:mday => 26, :name => "Otrie Ziemassvētki", :regions => [:lv]},
407
+ {:mday => 31, :name => "Vecgada diena", :regions => [:lv]},
367
408
  {:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
368
409
  {:mday => 25, :name => "Eerste Kerstdag", :regions => [:nl]},
369
410
  {:mday => 26, :name => "Tweede Kerstdag", :regions => [:nl]},
@@ -393,7 +434,8 @@ module Holidays
393
434
  {:mday => 25, :name => "Christmas", :regions => [:bg_en]},
394
435
  {:mday => 25, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
395
436
  {:mday => 26, :name => "Christmas", :regions => [:bg_en]},
396
- {:mday => 26, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]}],
437
+ {:mday => 26, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
438
+ {:mday => 25, :year_ranges => { :from => 2017 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
397
439
  7 => [{:mday => 21, :name => "Fête nationale", :regions => [:be_fr]},
398
440
  {:mday => 21, :name => "Nationale Feestdag", :regions => [:be_nl]},
399
441
  {:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
@@ -401,11 +443,14 @@ module Holidays
401
443
  {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Santiago Apostol", :regions => [:es_ga]},
402
444
  {:mday => 14, :name => "Fête nationale", :regions => [:fr]},
403
445
  {:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
404
- {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]},
446
+ {:mday => 12, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Battle of the Boyne", :regions => [:gb_nir]},
405
447
  {:mday => 6, :name => "Valstybės diena", :regions => [:lt]},
406
- {:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]}],
448
+ {:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]},
449
+ {:mday => 16, :year_ranges => { :limited => [1991] },:name => "День Незалежності України", :regions => [:ua]}],
407
450
  3 => [{:mday => 1, :name => "Instauration de la République", :regions => [:ch_ne]},
408
451
  {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]},
452
+ {:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
453
+ {:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]},
409
454
  {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:el]},
410
455
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Islas Baleares", :regions => [:es_ib]},
411
456
  {: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]},
@@ -418,7 +463,8 @@ module Holidays
418
463
  {:mday => 8, :type => :informal, :name => "Dzień Kobiet", :regions => [:pl]},
419
464
  {:mday => 10, :type => :informal, :name => "Dzień Mężczyzn", :regions => [:pl]},
420
465
  {:mday => 3, :name => "Liberation Day", :regions => [:bg_en]},
421
- {:mday => 3, :name => "Освобожението на България", :regions => [:bg_bg]}],
466
+ {:mday => 3, :name => "Освобожението на България", :regions => [:bg_bg]},
467
+ {:mday => 8, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Міжнародний жіночий день", :regions => [:ua]}],
422
468
  4 => [{:function => "ch_gl_naefelser_fahrt(year)", :function_arguments => [:year], :name => "Näfelser Fahrt", :regions => [:ch_gl]},
423
469
  {:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
424
470
  {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
@@ -427,6 +473,8 @@ module Holidays
427
473
  {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San Jorge, Día de Aragón", :regions => [:es_ar]},
428
474
  {:function => "is_sumardagurinn_fyrsti(year)", :function_arguments => [:year], :name => "Sumardagurinn fyrsti", :regions => [:is]},
429
475
  {:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
476
+ {:mday => 25, :name => "Festa di San Marco Evangelista", :regions => [:it_ve]},
477
+ {:mday => 27, :name => "Festa di San Liberale", :regions => [:it_tv]},
430
478
  {:mday => 27, :name => "Koningsdag", :regions => [:nl]},
431
479
  {:mday => 1, :type => :informal, :name => "Prima Aprilis", :regions => [:pl]},
432
480
  {:mday => 22, :type => :informal, :name => "Międzynarodowy Dzień Ziemi", :regions => [:pl]},
@@ -437,20 +485,31 @@ module Holidays
437
485
  {:mday => 5, :type => :informal, :name => "Grundlovsdag", :regions => [:dk]},
438
486
  {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
439
487
  {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
488
+ {:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
440
489
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región de Murcia", :regions => [:es_mu]},
441
490
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de La Rioja", :regions => [:es_lo]},
491
+ {:mday => 24, :name => "San Juan", :regions => [:es_ct, :es_vc]},
492
+ {:mday => 2, :year_ranges => { :limited => [2022] },:name => "Bank Holiday", :regions => [:gb]},
493
+ {:mday => 3, :year_ranges => { :limited => [2022] },:name => "Platinum Jubilee", :regions => [:gb]},
442
494
  {:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
443
- {:mday => 25, :name => "Dan državnosti", :regions => [:hr]},
495
+ {:mday => 25, :year_ranges => { :until => 2019 },:name => "Dan državnosti", :regions => [:hr]},
444
496
  {:wday => 1, :week => 1, :name => "June Bank Holiday", :regions => [:ie]},
445
497
  {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
446
498
  {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
447
499
  {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
500
+ {:mday => 13, :name => "Festa di Sant'Antonio di Padova", :regions => [:it_pd]},
501
+ {:mday => 24, :name => "Festa di San Giovanni Battista", :regions => [:it_fi, :it_ge, :it_to]},
502
+ {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]},
448
503
  {:mday => 24, :name => "Joninės", :regions => [:lt]},
504
+ {:mday => 23, :name => "Līgo diena", :regions => [:lv]},
505
+ {:mday => 24, :name => "Jāņu diena", :regions => [:lv]},
449
506
  {:mday => 23, :type => :informal, :name => "Dzień Ojca", :regions => [:pl]},
450
507
  {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]},
451
508
  {:mday => 13, :name => "Dia de Santo António", :regions => [:pt_li]},
452
509
  {:mday => 24, :name => "Dia de São João", :regions => [:pt_po]},
453
- {:mday => 25, :name => "dan državnosti", :regions => [:si]}],
510
+ {:mday => 1, :year_ranges => { :from => 2017 },:name => "Ziua Copilului", :regions => [:ro]},
511
+ {:mday => 25, :name => "dan državnosti", :regions => [:si]},
512
+ {:mday => 28, :year_ranges => { :from => 1997 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Конституції", :regions => [:ua]}],
454
513
  9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
455
514
  {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]},
456
515
  {:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
@@ -459,7 +518,10 @@ module Holidays
459
518
  {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
460
519
  {:mday => 11, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]},
461
520
  {:mday => 24, :name => "La Mercè", :regions => [:es_ct]},
521
+ {:mday => 19, :year_ranges => { :limited => [2022] },:name => "Bank Holiday for the State Funeral of Queen Elizabeth II", :regions => [:gb]},
522
+ {:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]},
462
523
  {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
524
+ {:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]},
463
525
  {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
464
526
  {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
465
527
  {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]},
@@ -479,7 +541,7 @@ module Holidays
479
541
 
480
542
  def self.custom_methods
481
543
  {
482
- "ch_vd_lundi_du_jeune_federal(year)" => Proc.new { |year|
544
+ "ch_vd_lundi_du_jeune_federal(year)" => Proc.new { |year|
483
545
  date = Date.civil(year,9,1)
484
546
  # Find the first Sunday of September
485
547
  until date.wday.eql? 0 do
@@ -513,6 +575,17 @@ end
513
575
  date
514
576
  },
515
577
 
578
+ "ch_be_zibelemaerit(year)" => Proc.new { |year|
579
+ date = Date.civil(year,11,1)
580
+ # Find the first Monday of November
581
+ until date.wday.eql? 1 do
582
+ date += 1
583
+ end
584
+ # There are 21 days between the first monday
585
+ # and the 4rth Monday after
586
+ date + 21
587
+ },
588
+
516
589
  "de_buss_und_bettag(year)" => Proc.new { |year|
517
590
  date = Date.civil(year,11,23)
518
591
  if date.wday > 3
@@ -533,6 +606,20 @@ end
533
606
  date
534
607
  },
535
608
 
609
+ "lv_song_and_dance_festival_end_date(year)" => Proc.new { |year|
610
+ case year
611
+ when 2018
612
+ # 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")
613
+ Date.new(2018, 7, 8)
614
+ when 2023
615
+ # https://likumi.lv/ta/id/330067 (Ministru kabineta rīkojums Nr. 92 "Par XXVII Vispārējo latviešu dziesmu un XVII Deju svētku norises laiku")
616
+ Date.new(2023, 7, 9)
617
+ when 2028
618
+ # Event's period/next year is known, but precise dates aren't.
619
+ # Previously, dates were announced 2 years ahead, so on ~2026-05 this method would need to be revisited.
620
+ end
621
+ },
622
+
536
623
  "pl_trzech_kroli(year)" => Proc.new { |year|
537
624
  year >= 2011 ? 6 : nil
538
625
  },
@@ -2,32 +2,33 @@
2
2
  module Holidays
3
3
  # This file is generated by the Ruby Holidays gem.
4
4
  #
5
- # Definitions loaded: definitions/federal_reserve.yaml
5
+ # Definitions loaded: definitions/federalreserve.yaml
6
6
  #
7
7
  # All the definitions are available at https://github.com/holidays/holidays
8
- module FEDERAL_RESERVE # :nodoc:
8
+ module FEDERALRESERVE # :nodoc:
9
9
  def self.defined_regions
10
- [:federal_reserve]
10
+ [:federalreserve]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:federal_reserve]},
16
- {:wday => 1, :week => 3, :name => "Birthday of Martin Luther King, Jr", :regions => [:federal_reserve]}],
17
- 2 => [{:wday => 1, :week => 3, :name => "Washington's Birthday", :regions => [:federal_reserve]}],
18
- 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:federal_reserve]}],
19
- 7 => [{:mday => 4, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:federal_reserve]}],
20
- 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:federal_reserve]}],
21
- 10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:federal_reserve]}],
22
- 11 => [{:mday => 11, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:federal_reserve]},
23
- {:wday => 4, :week => 4, :name => "Thanksgiving Day", :regions => [:federal_reserve]}],
24
- 12 => [{:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:federal_reserve]}]
15
+ 1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:federalreserve]},
16
+ {:wday => 1, :week => 3, :name => "Birthday of Martin Luther King, Jr", :regions => [:federalreserve]}],
17
+ 2 => [{:wday => 1, :week => 3, :name => "Washington's Birthday", :regions => [:federalreserve]}],
18
+ 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:federalreserve]}],
19
+ 6 => [{:mday => 19, :year_ranges => { :from => 2021 },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Juneteenth National Independence Day", :regions => [:federalreserve]}],
20
+ 7 => [{:mday => 4, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:federalreserve]}],
21
+ 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:federalreserve]}],
22
+ 10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:federalreserve]}],
23
+ 11 => [{:mday => 11, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:federalreserve]},
24
+ {:wday => 4, :week => 4, :name => "Thanksgiving Day", :regions => [:federalreserve]}],
25
+ 12 => [{:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:federalreserve]}]
25
26
  }
26
27
  end
27
28
 
28
29
  def self.custom_methods
29
30
  {
30
-
31
+
31
32
  }
32
33
  end
33
34
  end
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/federalreservebanks.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module FEDERALRESERVEBANKS # :nodoc:
9
+ def self.defined_regions
10
+ [:federalreservebanks]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:federalreservebanks]},
16
+ {:wday => 1, :week => 3, :name => "Birthday of Martin Luther King, Jr", :regions => [:federalreservebanks]}],
17
+ 2 => [{:wday => 1, :week => 3, :name => "Washington's Birthday", :regions => [:federalreservebanks]}],
18
+ 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:federalreservebanks]}],
19
+ 6 => [{:mday => 19, :year_ranges => { :from => 2021 },:observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Juneteenth National Independence Day", :regions => [:federalreservebanks]}],
20
+ 7 => [{:mday => 4, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:federalreservebanks]}],
21
+ 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:federalreservebanks]}],
22
+ 10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:federalreservebanks]}],
23
+ 11 => [{:mday => 11, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:federalreservebanks]},
24
+ {:wday => 4, :week => 4, :name => "Thanksgiving Day", :regions => [:federalreservebanks]}],
25
+ 12 => [{:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:federalreservebanks]}]
26
+ }
27
+ end
28
+
29
+ def self.custom_methods
30
+ {
31
+
32
+ }
33
+ end
34
+ end
35
+ end
@@ -12,7 +12,7 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:fedex]}],
15
+ 1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:fedex]}],
16
16
  5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:fedex]}],
17
17
  7 => [{:mday => 4, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:fedex]}],
18
18
  9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:fedex]}],
@@ -25,7 +25,7 @@ module Holidays
25
25
 
26
26
  def self.custom_methods
27
27
  {
28
- "day_after_thanksgiving(year)" => Proc.new { |year|
28
+ "day_after_thanksgiving(year)" => Proc.new { |year|
29
29
  Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 11, 4, 4) + 1
30
30
  },
31
31
 
@@ -12,7 +12,7 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Pitkäperjantai", :regions => [:fi]},
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Pitkäperjantai", :regions => [:fi]},
16
16
  {:function => "easter(year)", :function_arguments => [:year], :name => "Pääsiäispäivä", :regions => [:fi]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. Pääsiäispäivä", :regions => [:fi]},
18
18
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Helatorstai", :regions => [:fi]},
@@ -32,7 +32,7 @@ module Holidays
32
32
 
33
33
  def self.custom_methods
34
34
  {
35
- "fi_juhannusaatto(year)" => Proc.new { |year|
35
+ "fi_juhannusaatto(year)" => Proc.new { |year|
36
36
  date = Date.civil(year,6,19)
37
37
  if date.wday > 5 #if 19.6 is saturday
38
38
  date += 6
@@ -12,12 +12,12 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Vendredi saint", :regions => [:fr_a, :fr_m]},
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Vendredi saint", :regions => [:fr_a, :fr_m]},
16
16
  {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Pâques", :regions => [:fr]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lundi de Pâques", :regions => [:fr]},
18
18
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Ascension", :regions => [:fr]},
19
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :type => :informal, :name => "Pentecôte", :regions => [:fr]},
20
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lundi de Pentecôte", :regions => [:fr]}],
19
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pentecôte", :regions => [:fr]},
20
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :type => :informal, :name => "Lundi de Pentecôte", :regions => [:fr]}],
21
21
  1 => [{:mday => 1, :name => "Jour de l'an", :regions => [:fr]}],
22
22
  5 => [{:mday => 1, :name => "Fête du travail", :regions => [:fr]},
23
23
  {:mday => 8, :name => "Victoire 1945", :regions => [:fr]}],
@@ -32,7 +32,7 @@ module Holidays
32
32
 
33
33
  def self.custom_methods
34
34
  {
35
-
35
+
36
36
  }
37
37
  end
38
38
  end