revised_holidays 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 (382) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +25 -0
  3. data/CHANGELOG.md +446 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE +21 -0
  7. data/Makefile +45 -0
  8. data/README.md +337 -0
  9. data/Rakefile +109 -0
  10. data/bin/console +7 -0
  11. data/bin/setup +6 -0
  12. data/definitions/.github/workflows/ruby.yml +25 -0
  13. data/definitions/.gitignore +5 -0
  14. data/definitions/CHANGELOG.md +352 -0
  15. data/definitions/Gemfile +6 -0
  16. data/definitions/LICENSE +21 -0
  17. data/definitions/METHODS.yml +26 -0
  18. data/definitions/Makefile +9 -0
  19. data/definitions/README.md +22 -0
  20. data/definitions/ar.yaml +268 -0
  21. data/definitions/at.yaml +116 -0
  22. data/definitions/au.yaml +907 -0
  23. data/definitions/be_fr.yaml +153 -0
  24. data/definitions/be_nl.yaml +153 -0
  25. data/definitions/bg.yaml +186 -0
  26. data/definitions/br.yaml +178 -0
  27. data/definitions/ca.yaml +969 -0
  28. data/definitions/ch.yaml +277 -0
  29. data/definitions/cl.yaml +294 -0
  30. data/definitions/co.yaml +437 -0
  31. data/definitions/cr.yaml +100 -0
  32. data/definitions/cz.yaml +137 -0
  33. data/definitions/de.yaml +401 -0
  34. data/definitions/dk.yaml +220 -0
  35. data/definitions/doc/CONTRIBUTING.md +44 -0
  36. data/definitions/doc/MAINTAINERS.md +39 -0
  37. data/definitions/doc/SYNTAX.md +435 -0
  38. data/definitions/doc/architecture/README.md +15 -0
  39. data/definitions/doc/architecture/adr-001.md +86 -0
  40. data/definitions/doc/architecture/adr-002.md +64 -0
  41. data/definitions/ecbtarget.yaml +74 -0
  42. data/definitions/ee.yaml +123 -0
  43. data/definitions/es.yaml +495 -0
  44. data/definitions/federalreserve.yaml +389 -0
  45. data/definitions/federalreservebanks.yaml +821 -0
  46. data/definitions/fedex.yaml +102 -0
  47. data/definitions/fi.yaml +234 -0
  48. data/definitions/fr.yaml +157 -0
  49. data/definitions/gb.yaml +565 -0
  50. data/definitions/ge.yaml +158 -0
  51. data/definitions/gr.yaml +158 -0
  52. data/definitions/hk.yaml +287 -0
  53. data/definitions/hr.yaml +171 -0
  54. data/definitions/hu.yaml +156 -0
  55. data/definitions/ie.yaml +172 -0
  56. data/definitions/index.yaml +80 -0
  57. data/definitions/is.yaml +247 -0
  58. data/definitions/it.yaml +246 -0
  59. data/definitions/jp.yaml +761 -0
  60. data/definitions/ke.yaml +107 -0
  61. data/definitions/kr.yaml +166 -0
  62. data/definitions/kz.yaml +128 -0
  63. data/definitions/li.yaml +154 -0
  64. data/definitions/lib/validation/custom_method_validator.rb +38 -0
  65. data/definitions/lib/validation/definition_validator.rb +35 -0
  66. data/definitions/lib/validation/error.rb +11 -0
  67. data/definitions/lib/validation/month_validator.rb +58 -0
  68. data/definitions/lib/validation/run.rb +66 -0
  69. data/definitions/lib/validation/test_validator.rb +83 -0
  70. data/definitions/lt.yaml +198 -0
  71. data/definitions/lu.yaml +123 -0
  72. data/definitions/lv.yaml +229 -0
  73. data/definitions/ma.yaml +96 -0
  74. data/definitions/mt_en.yaml +131 -0
  75. data/definitions/mt_mt.yaml +131 -0
  76. data/definitions/mx.yaml +160 -0
  77. data/definitions/my.yaml +79 -0
  78. data/definitions/nerc.yaml +94 -0
  79. data/definitions/ng.yaml +97 -0
  80. data/definitions/nl.yaml +127 -0
  81. data/definitions/no.yaml +169 -0
  82. data/definitions/northamericainformal.yaml +105 -0
  83. data/definitions/nyse.yaml +137 -0
  84. data/definitions/nz.yaml +346 -0
  85. data/definitions/pe.yaml +208 -0
  86. data/definitions/ph.yaml +130 -0
  87. data/definitions/pl.yaml +796 -0
  88. data/definitions/pt.yaml +187 -0
  89. data/definitions/ro.yaml +240 -0
  90. data/definitions/rs_cyrl.yaml +129 -0
  91. data/definitions/rs_la.yaml +129 -0
  92. data/definitions/ru.yaml +108 -0
  93. data/definitions/se.yaml +238 -0
  94. data/definitions/sg.yaml +89 -0
  95. data/definitions/si.yaml +162 -0
  96. data/definitions/sk.yaml +154 -0
  97. data/definitions/spec/coverage_report.rb +7 -0
  98. data/definitions/spec/data/invalid/months/malformed/bad.yaml +15 -0
  99. data/definitions/spec/data/invalid/months/missing/no_months.yaml +9 -0
  100. data/definitions/spec/data/valid/simple.yaml +15 -0
  101. data/definitions/spec/spec_helper.rb +7 -0
  102. data/definitions/spec/validation/custom_method_validator_spec.rb +60 -0
  103. data/definitions/spec/validation/definition_validator_spec.rb +43 -0
  104. data/definitions/spec/validation/month_validator_spec.rb +175 -0
  105. data/definitions/spec/validation/test_validator_spec.rb +169 -0
  106. data/definitions/th.yaml +111 -0
  107. data/definitions/tn.yaml +83 -0
  108. data/definitions/tr.yaml +174 -0
  109. data/definitions/ua.yaml +161 -0
  110. data/definitions/unitednations.yaml +189 -0
  111. data/definitions/ups.yaml +102 -0
  112. data/definitions/us.yaml +965 -0
  113. data/definitions/ve.yaml +118 -0
  114. data/definitions/vi.yaml +54 -0
  115. data/definitions/za.yaml +139 -0
  116. data/doc/CONTRIBUTING.md +72 -0
  117. data/doc/MAINTAINERS.md +81 -0
  118. data/doc/REFERENCES +19 -0
  119. data/lib/generated_definitions/MANIFEST +83 -0
  120. data/lib/generated_definitions/REGIONS.rb +6 -0
  121. data/lib/generated_definitions/ar.rb +60 -0
  122. data/lib/generated_definitions/at.rb +37 -0
  123. data/lib/generated_definitions/au.rb +177 -0
  124. data/lib/generated_definitions/be.rb +42 -0
  125. data/lib/generated_definitions/be_fr.rb +36 -0
  126. data/lib/generated_definitions/be_nl.rb +36 -0
  127. data/lib/generated_definitions/bg.rb +53 -0
  128. data/lib/generated_definitions/br.rb +37 -0
  129. data/lib/generated_definitions/ca.rb +88 -0
  130. data/lib/generated_definitions/ch.rb +95 -0
  131. data/lib/generated_definitions/cl.rb +71 -0
  132. data/lib/generated_definitions/co.rb +121 -0
  133. data/lib/generated_definitions/cr.rb +35 -0
  134. data/lib/generated_definitions/cz.rb +37 -0
  135. data/lib/generated_definitions/de.rb +65 -0
  136. data/lib/generated_definitions/dk.rb +48 -0
  137. data/lib/generated_definitions/ecbtarget.rb +30 -0
  138. data/lib/generated_definitions/ee.rb +36 -0
  139. data/lib/generated_definitions/el.rb +38 -0
  140. data/lib/generated_definitions/es.rb +56 -0
  141. data/lib/generated_definitions/europe.rb +638 -0
  142. data/lib/generated_definitions/federalreserve.rb +35 -0
  143. data/lib/generated_definitions/federalreservebanks.rb +35 -0
  144. data/lib/generated_definitions/fedex.rb +36 -0
  145. data/lib/generated_definitions/fi.rb +61 -0
  146. data/lib/generated_definitions/fr.rb +39 -0
  147. data/lib/generated_definitions/gb.rb +51 -0
  148. data/lib/generated_definitions/ge.rb +41 -0
  149. data/lib/generated_definitions/gr.rb +38 -0
  150. data/lib/generated_definitions/hk.rb +106 -0
  151. data/lib/generated_definitions/hr.rb +40 -0
  152. data/lib/generated_definitions/hu.rb +35 -0
  153. data/lib/generated_definitions/ie.rb +33 -0
  154. data/lib/generated_definitions/is.rb +60 -0
  155. data/lib/generated_definitions/it.rb +45 -0
  156. data/lib/generated_definitions/jp.rb +166 -0
  157. data/lib/generated_definitions/ke.rb +34 -0
  158. data/lib/generated_definitions/kr.rb +40 -0
  159. data/lib/generated_definitions/kz.rb +38 -0
  160. data/lib/generated_definitions/li.rb +44 -0
  161. data/lib/generated_definitions/lt.rb +38 -0
  162. data/lib/generated_definitions/lu.rb +35 -0
  163. data/lib/generated_definitions/lv.rb +56 -0
  164. data/lib/generated_definitions/ma.rb +33 -0
  165. data/lib/generated_definitions/mt_en.rb +38 -0
  166. data/lib/generated_definitions/mt_mt.rb +38 -0
  167. data/lib/generated_definitions/mx.rb +54 -0
  168. data/lib/generated_definitions/my.rb +30 -0
  169. data/lib/generated_definitions/nerc.rb +30 -0
  170. data/lib/generated_definitions/ng.rb +33 -0
  171. data/lib/generated_definitions/nl.rb +37 -0
  172. data/lib/generated_definitions/no.rb +40 -0
  173. data/lib/generated_definitions/northamerica.rb +229 -0
  174. data/lib/generated_definitions/nyse.rb +34 -0
  175. data/lib/generated_definitions/nz.rb +105 -0
  176. data/lib/generated_definitions/pe.rb +43 -0
  177. data/lib/generated_definitions/ph.rb +50 -0
  178. data/lib/generated_definitions/pl.rb +73 -0
  179. data/lib/generated_definitions/pt.rb +40 -0
  180. data/lib/generated_definitions/ro.rb +39 -0
  181. data/lib/generated_definitions/rs_cyrl.rb +39 -0
  182. data/lib/generated_definitions/rs_la.rb +39 -0
  183. data/lib/generated_definitions/ru.rb +37 -0
  184. data/lib/generated_definitions/scandinavia.rb +166 -0
  185. data/lib/generated_definitions/se.rb +53 -0
  186. data/lib/generated_definitions/sg.rb +31 -0
  187. data/lib/generated_definitions/si.rb +39 -0
  188. data/lib/generated_definitions/sk.rb +39 -0
  189. data/lib/generated_definitions/southamerica.rb +248 -0
  190. data/lib/generated_definitions/th.rb +36 -0
  191. data/lib/generated_definitions/tn.rb +32 -0
  192. data/lib/generated_definitions/tr.rb +64 -0
  193. data/lib/generated_definitions/ua.rb +37 -0
  194. data/lib/generated_definitions/unitednations.rb +81 -0
  195. data/lib/generated_definitions/ups.rb +36 -0
  196. data/lib/generated_definitions/us.rb +153 -0
  197. data/lib/generated_definitions/ve.rb +36 -0
  198. data/lib/generated_definitions/vi.rb +29 -0
  199. data/lib/generated_definitions/za.rb +36 -0
  200. data/lib/holidays/core_extensions/date.rb +57 -0
  201. data/lib/holidays/core_extensions/time.rb +23 -0
  202. data/lib/holidays/date_calculator/day_of_month.rb +68 -0
  203. data/lib/holidays/date_calculator/easter.rb +91 -0
  204. data/lib/holidays/date_calculator/lunar_date.rb +371 -0
  205. data/lib/holidays/date_calculator/weekend_modifier.rb +80 -0
  206. data/lib/holidays/definition/context/function_processor.rb +91 -0
  207. data/lib/holidays/definition/context/generator.rb +209 -0
  208. data/lib/holidays/definition/context/load.rb +29 -0
  209. data/lib/holidays/definition/context/merger.rb +22 -0
  210. data/lib/holidays/definition/decorator/custom_method_proc.rb +28 -0
  211. data/lib/holidays/definition/decorator/custom_method_source.rb +30 -0
  212. data/lib/holidays/definition/decorator/test.rb +37 -0
  213. data/lib/holidays/definition/entity/custom_method.rb +11 -0
  214. data/lib/holidays/definition/entity/test.rb +11 -0
  215. data/lib/holidays/definition/generator/module.rb +54 -0
  216. data/lib/holidays/definition/generator/regions.rb +55 -0
  217. data/lib/holidays/definition/generator/test.rb +51 -0
  218. data/lib/holidays/definition/parser/custom_method.rb +67 -0
  219. data/lib/holidays/definition/parser/test.rb +86 -0
  220. data/lib/holidays/definition/repository/cache.rb +47 -0
  221. data/lib/holidays/definition/repository/custom_methods.rb +27 -0
  222. data/lib/holidays/definition/repository/holidays_by_month.rb +57 -0
  223. data/lib/holidays/definition/repository/proc_result_cache.rb +51 -0
  224. data/lib/holidays/definition/repository/regions.rb +46 -0
  225. data/lib/holidays/definition/validator/custom_method.rb +31 -0
  226. data/lib/holidays/definition/validator/region.rb +36 -0
  227. data/lib/holidays/definition/validator/test.rb +71 -0
  228. data/lib/holidays/errors.rb +11 -0
  229. data/lib/holidays/factory/date_calculator.rb +42 -0
  230. data/lib/holidays/factory/definition.rb +143 -0
  231. data/lib/holidays/factory/finder.rb +70 -0
  232. data/lib/holidays/finder/context/between.rb +45 -0
  233. data/lib/holidays/finder/context/dates_driver_builder.rb +64 -0
  234. data/lib/holidays/finder/context/next_holiday.rb +57 -0
  235. data/lib/holidays/finder/context/parse_options.rb +104 -0
  236. data/lib/holidays/finder/context/search.rb +111 -0
  237. data/lib/holidays/finder/context/year_holiday.rb +57 -0
  238. data/lib/holidays/finder/rules/in_region.rb +31 -0
  239. data/lib/holidays/finder/rules/year_range.rb +58 -0
  240. data/lib/holidays/load_all_definitions.rb +56 -0
  241. data/lib/holidays/version.rb +3 -0
  242. data/lib/holidays.rb +130 -0
  243. data/lib/revised_holidays.rb +1 -0
  244. data/revised_holidays.gemspec +31 -0
  245. data/test/coverage_report.rb +26 -0
  246. data/test/data/test_custom_govt_holiday_defs.yaml +5 -0
  247. data/test/data/test_custom_informal_holidays_defs.yaml +11 -0
  248. data/test/data/test_custom_year_range_holiday_defs.yaml +31 -0
  249. data/test/data/test_invalid_region.rb +15 -0
  250. data/test/data/test_multiple_custom_holiday_defs.yaml +12 -0
  251. data/test/data/test_multiple_regions_with_conflicts_region_1.yaml +38 -0
  252. data/test/data/test_multiple_regions_with_conflicts_region_2.yaml +38 -0
  253. data/test/data/test_region.rb +15 -0
  254. data/test/data/test_single_custom_holiday_defs.yaml +12 -0
  255. data/test/data/test_single_custom_holiday_with_custom_procs.yaml +28 -0
  256. data/test/defs/test_defs_ar.rb +69 -0
  257. data/test/defs/test_defs_at.rb +31 -0
  258. data/test/defs/test_defs_au.rb +233 -0
  259. data/test/defs/test_defs_be_fr.rb +45 -0
  260. data/test/defs/test_defs_be_nl.rb +45 -0
  261. data/test/defs/test_defs_bg.rb +41 -0
  262. data/test/defs/test_defs_br.rb +49 -0
  263. data/test/defs/test_defs_ca.rb +289 -0
  264. data/test/defs/test_defs_ch.rb +51 -0
  265. data/test/defs/test_defs_cl.rb +69 -0
  266. data/test/defs/test_defs_co.rb +113 -0
  267. data/test/defs/test_defs_cr.rb +29 -0
  268. data/test/defs/test_defs_cz.rb +37 -0
  269. data/test/defs/test_defs_de.rb +89 -0
  270. data/test/defs/test_defs_dk.rb +47 -0
  271. data/test/defs/test_defs_ecbtarget.rb +27 -0
  272. data/test/defs/test_defs_ee.rb +41 -0
  273. data/test/defs/test_defs_es.rb +137 -0
  274. data/test/defs/test_defs_europe.rb +1522 -0
  275. data/test/defs/test_defs_fed_ex.rb +24 -0
  276. data/test/defs/test_defs_federalreserve.rb +119 -0
  277. data/test/defs/test_defs_federalreservebanks.rb +251 -0
  278. data/test/defs/test_defs_fedex.rb +31 -0
  279. data/test/defs/test_defs_fi.rb +59 -0
  280. data/test/defs/test_defs_fr.rb +43 -0
  281. data/test/defs/test_defs_gb.rb +159 -0
  282. data/test/defs/test_defs_ge.rb +53 -0
  283. data/test/defs/test_defs_gr.rb +41 -0
  284. data/test/defs/test_defs_hk.rb +59 -0
  285. data/test/defs/test_defs_hr.rb +45 -0
  286. data/test/defs/test_defs_hu.rb +47 -0
  287. data/test/defs/test_defs_ie.rb +53 -0
  288. data/test/defs/test_defs_is.rb +51 -0
  289. data/test/defs/test_defs_it.rb +55 -0
  290. data/test/defs/test_defs_jp.rb +159 -0
  291. data/test/defs/test_defs_ke.rb +31 -0
  292. data/test/defs/test_defs_kr.rb +37 -0
  293. data/test/defs/test_defs_kz.rb +39 -0
  294. data/test/defs/test_defs_li.rb +35 -0
  295. data/test/defs/test_defs_lt.rb +65 -0
  296. data/test/defs/test_defs_lu.rb +35 -0
  297. data/test/defs/test_defs_lv.rb +98 -0
  298. data/test/defs/test_defs_ma.rb +29 -0
  299. data/test/defs/test_defs_mt_en.rb +41 -0
  300. data/test/defs/test_defs_mt_mt.rb +41 -0
  301. data/test/defs/test_defs_mx.rb +49 -0
  302. data/test/defs/test_defs_my.rb +23 -0
  303. data/test/defs/test_defs_nerc.rb +29 -0
  304. data/test/defs/test_defs_ng.rb +29 -0
  305. data/test/defs/test_defs_nl.rb +33 -0
  306. data/test/defs/test_defs_no.rb +43 -0
  307. data/test/defs/test_defs_northamerica.rb +667 -0
  308. data/test/defs/test_defs_nyse.rb +46 -0
  309. data/test/defs/test_defs_nz.rb +67 -0
  310. data/test/defs/test_defs_pe.rb +47 -0
  311. data/test/defs/test_defs_ph.rb +29 -0
  312. data/test/defs/test_defs_pl.rb +229 -0
  313. data/test/defs/test_defs_pt.rb +47 -0
  314. data/test/defs/test_defs_ro.rb +65 -0
  315. data/test/defs/test_defs_rs_cyrl.rb +46 -0
  316. data/test/defs/test_defs_rs_la.rb +46 -0
  317. data/test/defs/test_defs_ru.rb +34 -0
  318. data/test/defs/test_defs_scandinavia.rb +215 -0
  319. data/test/defs/test_defs_se.rb +59 -0
  320. data/test/defs/test_defs_sg.rb +25 -0
  321. data/test/defs/test_defs_si.rb +105 -0
  322. data/test/defs/test_defs_sk.rb +41 -0
  323. data/test/defs/test_defs_southamerica.rb +327 -0
  324. data/test/defs/test_defs_th.rb +33 -0
  325. data/test/defs/test_defs_tn.rb +27 -0
  326. data/test/defs/test_defs_tr.rb +60 -0
  327. data/test/defs/test_defs_ua.rb +41 -0
  328. data/test/defs/test_defs_unitednations.rb +11 -0
  329. data/test/defs/test_defs_ups.rb +31 -0
  330. data/test/defs/test_defs_us.rb +387 -0
  331. data/test/defs/test_defs_ve.rb +35 -0
  332. data/test/defs/test_defs_vi.rb +22 -0
  333. data/test/defs/test_defs_za.rb +35 -0
  334. data/test/holidays/core_extensions/test_date.rb +122 -0
  335. data/test/holidays/core_extensions/test_date_time.rb +60 -0
  336. data/test/holidays/date_calculator/test_day_of_month.rb +27 -0
  337. data/test/holidays/date_calculator/test_easter_gregorian.rb +30 -0
  338. data/test/holidays/date_calculator/test_easter_julian.rb +36 -0
  339. data/test/holidays/date_calculator/test_lunar_date.rb +89 -0
  340. data/test/holidays/date_calculator/test_weekend_modifier.rb +54 -0
  341. data/test/holidays/definition/context/test_function_processor.rb +199 -0
  342. data/test/holidays/definition/context/test_generator.rb +226 -0
  343. data/test/holidays/definition/context/test_load.rb +37 -0
  344. data/test/holidays/definition/context/test_merger.rb +25 -0
  345. data/test/holidays/definition/decorator/test_custom_method_proc.rb +113 -0
  346. data/test/holidays/definition/decorator/test_custom_method_source.rb +96 -0
  347. data/test/holidays/definition/decorator/test_test.rb +123 -0
  348. data/test/holidays/definition/generator/test_module.rb +268 -0
  349. data/test/holidays/definition/generator/test_regions.rb +97 -0
  350. data/test/holidays/definition/generator/test_test.rb +113 -0
  351. data/test/holidays/definition/parser/test_custom_method.rb +79 -0
  352. data/test/holidays/definition/parser/test_test.rb +142 -0
  353. data/test/holidays/definition/repository/test_cache.rb +123 -0
  354. data/test/holidays/definition/repository/test_custom_methods.rb +43 -0
  355. data/test/holidays/definition/repository/test_holidays_by_month.rb +275 -0
  356. data/test/holidays/definition/repository/test_proc_result_cache.rb +91 -0
  357. data/test/holidays/definition/repository/test_regions.rb +104 -0
  358. data/test/holidays/definition/validator/test_custom_method.rb +94 -0
  359. data/test/holidays/definition/validator/test_region.rb +54 -0
  360. data/test/holidays/definition/validator/test_test.rb +60 -0
  361. data/test/holidays/finder/context/test_between.rb +172 -0
  362. data/test/holidays/finder/context/test_dates_driver_builder.rb +91 -0
  363. data/test/holidays/finder/context/test_next_holiday.rb +156 -0
  364. data/test/holidays/finder/context/test_parse_options.rb +141 -0
  365. data/test/holidays/finder/context/test_search.rb +232 -0
  366. data/test/holidays/finder/context/test_year_holiday.rb +202 -0
  367. data/test/holidays/finder/rules/test_in_region.rb +42 -0
  368. data/test/holidays/finder/rules/test_year_range.rb +166 -0
  369. data/test/integration/README.md +9 -0
  370. data/test/integration/test_all_regions.rb +49 -0
  371. data/test/integration/test_any_holidays_during_work_week.rb +90 -0
  372. data/test/integration/test_available_regions.rb +23 -0
  373. data/test/integration/test_custom_holidays.rb +41 -0
  374. data/test/integration/test_custom_informal_holidays.rb +15 -0
  375. data/test/integration/test_custom_year_range_holidays.rb +35 -0
  376. data/test/integration/test_holidays.rb +243 -0
  377. data/test/integration/test_holidays_between.rb +87 -0
  378. data/test/integration/test_multiple_regions.rb +71 -0
  379. data/test/integration/test_multiple_regions_with_conflict.rb +29 -0
  380. data/test/integration/test_nonstandard_regions.rb +25 -0
  381. data/test/test_helper.rb +37 -0
  382. metadata +649 -0
@@ -0,0 +1,638 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
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/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
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module EUROPE # :nodoc:
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_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
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:at]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:at]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:at]},
18
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:at]},
19
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Pâques", :regions => [:be_fr]},
20
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lundi de Pâques", :regions => [:be_fr]},
21
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Ascension", :regions => [:be_fr]},
22
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pentecôte", :regions => [:be_fr]},
23
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lundi de Pentecôte", :regions => [:be_fr]},
24
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Pasen", :regions => [:be_nl]},
25
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paasmaandag", :regions => [:be_nl]},
26
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "O.H. Hemelvaart", :regions => [:be_nl]},
27
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pinksteren", :regions => [:be_nl]},
28
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pinkstermaandag", :regions => [:be_nl]},
29
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Karfreitag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju]},
30
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
31
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Auffahrt", :regions => [:ch]},
32
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
33
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ne, :ch_ju]},
34
+ {:function => "ch_vd_lundi_du_jeune_federal(year)", :function_arguments => [:year], :name => "Lundi du Jeûne fédéral", :regions => [:ch_vd]},
35
+ {:function => "ch_ge_jeune_genevois(year)", :function_arguments => [:year], :name => "Jeûne genevois", :regions => [:ch_ge]},
36
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Velký pátek", :regions => [:cz]},
37
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Velikonoční pondělí", :regions => [:cz]},
38
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -49, :type => :informal, :name => "Fastelavn", :regions => [:dk]},
39
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :type => :informal, :name => "Palmesøndag", :regions => [:dk]},
40
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skærtorsdag", :regions => [:dk]},
41
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:dk]},
42
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Påskedag", :regions => [:dk]},
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, :year_ranges => { :until => 2023 },:name => "Store Bededag", :regions => [:dk]},
45
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:dk]},
46
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pinsedag", :regions => [:dk]},
47
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. Pinsedag", :regions => [:dk]},
48
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Karfreitag", :regions => [:de]},
49
+ {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Ostersonntag", :regions => [:de]},
50
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:de]},
51
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:de]},
52
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :type => :informal, :name => "Pfingstsonntag", :regions => [:de]},
53
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:de]},
54
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath]},
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
+ {: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
+ {: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 => "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]},
59
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Viernes Santo", :regions => [:es]},
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]},
61
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Lunes de Pascua Granada", :regions => [:es_ct]},
62
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Vendredi saint", :regions => [:fr_a, :fr_m]},
63
+ {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Pâques", :regions => [:fr]},
64
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lundi de Pâques", :regions => [:fr]},
65
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Ascension", :regions => [:fr]},
66
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pentecôte", :regions => [:fr]},
67
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :type => :informal, :name => "Lundi de Pentecôte", :regions => [:fr]},
68
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -21, :type => :informal, :name => "Mothering Sunday", :regions => [:gb]},
69
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:gb]},
70
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:gb]},
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
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Uskrs", :regions => [:hr]},
79
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
80
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Tijelovo", :regions => [:hr]},
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]},
84
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ie]},
85
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Bolludagur", :regions => [:is]},
86
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Sprengidagur", :regions => [:is]},
87
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :name => "Öskudagur", :regions => [:is]},
88
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :name => "Pálmasunnudagur", :regions => [:is]},
89
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skírdagur", :regions => [:is]},
90
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Föstudaginn langi", :regions => [:is]},
91
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Páskadagur", :regions => [:is]},
92
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Annar í páskum", :regions => [:is]},
93
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Uppstigningardagur", :regions => [:is]},
94
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Hvítasunnudagur", :regions => [:is]},
95
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Annar í hvítasunnu", :regions => [:is]},
96
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Pasqua", :regions => [:it]},
97
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunedì dell'Angelo", :regions => [:it]},
98
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Fasnachtsdienstag", :regions => [:li]},
99
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Karfreitag", :regions => [:li]},
100
+ {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Ostern", :regions => [:li]},
101
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Ostermontag", :regions => [:li]},
102
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Auffahrt", :regions => [:li]},
103
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:li]},
104
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:li]},
105
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Šv. Velykos", :regions => [:lt]},
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]},
112
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Goede Vrijdag", :regions => [:nl]},
113
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Eerste Paasdag", :regions => [:nl]},
114
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Tweede Paasdag", :regions => [:nl]},
115
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Hemelvaartsdag", :regions => [:nl]},
116
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Eerste Pinksterdag", :regions => [:nl]},
117
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Tweede Pinksterdag", :regions => [:nl]},
118
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -49, :type => :informal, :name => "Fastelavn", :regions => [:no]},
119
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :name => "Palmesøndag", :regions => [:no]},
120
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skjærtorsdag", :regions => [:no]},
121
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:no]},
122
+ {:function => "easter(year)", :function_arguments => [:year], :name => "1. påskedag", :regions => [:no]},
123
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. påskedag", :regions => [:no]},
124
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:no]},
125
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "1. pinsedag", :regions => [:no]},
126
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. pinsedag", :regions => [:no]},
127
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -52, :type => :informal, :name => "Tłusty Czwartek", :regions => [:pl]},
128
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :type => :informal, :name => "Ostatki", :regions => [:pl]},
129
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :type => :informal, :name => "Środa Popielcowa", :regions => [:pl]},
130
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :type => :informal, :name => "Niedziela Palmowa", :regions => [:pl]},
131
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :type => :informal, :name => "Wielki Czwartek", :regions => [:pl]},
132
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Wielki Piątek", :regions => [:pl]},
133
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -1, :type => :informal, :name => "Wielka Sobota", :regions => [:pl]},
134
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Niedziela Wielkanocna", :regions => [:pl]},
135
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Poniedziałek Wielkanocny (Lany Poniedziałek)", :regions => [:pl]},
136
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Zesłanie Ducha Świętego (Zielone Świątki)", :regions => [:pl]},
137
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Uroczystość Najświętszego Ciała i Krwi Pańskiej (Boże Ciało)", :regions => [:pl]},
138
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :type => :informal, :name => "Carnaval", :regions => [:pt]},
139
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Sexta-feira Santa", :regions => [:pt]},
140
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Páscoa", :regions => [:pt]},
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]},
143
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Paștele - duminică", :regions => [:ro]},
144
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paștele - luni", :regions => [:ro]},
145
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Rusaliile - 50", :regions => [:ro]},
146
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Rusaliile - 51", :regions => [:ro]},
147
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Veľkonočný pondelok", :regions => [:sk]},
148
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Veľký piatok", :regions => [:sk]},
149
+ {:function => "easter(year)", :function_arguments => [:year], :name => "velikonočna nedelja", :regions => [:si]},
150
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "velikonočni ponedeljek", :regions => [:si]},
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]},
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]}],
161
+ 1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
162
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:at]},
163
+ {:mday => 1, :name => "Jour de l'an", :regions => [:be_fr]},
164
+ {:mday => 1, :name => "Nieuwjaar", :regions => [:be_nl]},
165
+ {:mday => 1, :name => "Neujahrstag", :regions => [:ch]},
166
+ {:mday => 2, :name => "Berchtoldstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_sh, :ch_sg, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ju]},
167
+ {:mday => 6, :name => "Dreikönigstag", :regions => [:ch_ur, :ch_sz, :ch_ti]},
168
+ {:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]},
169
+ {:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
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, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Año Nuevo", :regions => [:es]},
173
+ {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Reyes", :regions => [:es]},
174
+ {:mday => 1, :name => "Jour de l'an", :regions => [:fr]},
175
+ {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:gb]},
176
+ {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]},
177
+ {:mday => 1, :name => "Πρωτοχρονιά", :regions => [:gr]},
178
+ {:mday => 6, :name => "Θεοφάνεια", :regions => [:gr]},
179
+ {:mday => 1, :name => "Nova godina", :regions => [:hr]},
180
+ {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]},
181
+ {:mday => 1, :name => "Újév", :regions => [:hu]},
182
+ {:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ie]},
183
+ {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
184
+ {:mday => 6, :name => "Þrettándinn", :regions => [:is]},
185
+ {:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]},
186
+ {:mday => 1, :name => "Capodanno", :regions => [:it]},
187
+ {:mday => 6, :name => "Epifania", :regions => [:it]},
188
+ {:mday => 1, :name => "Neujahrstag", :regions => [:li]},
189
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:li]},
190
+ {:mday => 1, :name => "Naujieji metai", :regions => [:lt]},
191
+ {:mday => 1, :name => "Jaungada diena", :regions => [:lv]},
192
+ {:mday => 1, :name => "Nieuwjaarsdag", :regions => [:nl]},
193
+ {:mday => 1, :name => "Nyttårsdag", :regions => [:no]},
194
+ {:mday => 1, :name => "Nowy Rok", :regions => [:pl]},
195
+ {:function => "pl_trzech_kroli(year)", :function_arguments => [:year], :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
196
+ {:function => "pl_trzech_kroli_informal(year)", :function_arguments => [:year], :type => :informal, :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
197
+ {:mday => 21, :type => :informal, :name => "Dzień Babci", :regions => [:pl]},
198
+ {:mday => 22, :type => :informal, :name => "Dzień Dziadka", :regions => [:pl]},
199
+ {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
200
+ {:mday => 1, :name => "Anul nou", :regions => [:ro]},
201
+ {:mday => 2, :name => "Anul nou", :regions => [:ro]},
202
+ {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]},
203
+ {:mday => 1, :name => "Nový rok", :regions => [:sk]},
204
+ {:mday => 6, :name => "Zjavenie Pána (Traja králi)", :regions => [:sk]},
205
+ {:mday => 1, :name => "novo leto", :regions => [:si]},
206
+ {:mday => 2, :name => "novo leto", :regions => [:si]},
207
+ {:mday => 1, :name => "New Year's Day", :regions => [:bg_en]},
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]}],
211
+ 5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]},
212
+ {:mday => 1, :name => "Fête du travail", :regions => [:be_fr]},
213
+ {:mday => 1, :name => "Feest van de Arbeid", :regions => [:be_nl]},
214
+ {:mday => 1, :name => "Tag der Arbeit", :regions => [:ch_zh, :ch_bs, :ch_bl, :ch_sh, :ch_ag, :ch_tg, :ch_ti, :ch_ne, :ch_ju]},
215
+ {:mday => 1, :name => "Svátek práce", :regions => [:cz]},
216
+ {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
217
+ {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
218
+ {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
219
+ {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
220
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]},
221
+ {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día del Trabajador", :regions => [:es]},
222
+ {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta de la Comunidad", :regions => [:es_m]},
223
+ {:mday => 30, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Canarias", :regions => [:es_cn]},
224
+ {:mday => 31, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región Castilla-La Mancha", :regions => [:es_cm]},
225
+ {:mday => 1, :name => "Fête du travail", :regions => [:fr]},
226
+ {:mday => 8, :name => "Victoire 1945", :regions => [:fr]},
227
+ {:wday => 1, :week => 1, :year_ranges => { :until => 2019 },:name => "May Day", :regions => [:gb]},
228
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "May Day", :regions => [:gb]},
229
+ {:mday => 8, :year_ranges => { :limited => [2023] },:name => "Bank Holiday for the Coronation of King Charles III", :regions => [:gb, :gb]},
230
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2021 },:name => "May Day", :regions => [:gb]},
231
+ {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
232
+ {:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Bank Holiday", :regions => [:gb]},
233
+ {:wday => 1, :week => -1, :year_ranges => { :from => 2023 },:name => "Bank Holiday", :regions => [:gb]},
234
+ {:mday => 1, :name => "Πρωτομαγιά", :regions => [:gr]},
235
+ {:mday => 1, :name => "Praznik rada", :regions => [:hr]},
236
+ {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]},
237
+ {:mday => 1, :name => "A munka ünnepe", :regions => [:hu]},
238
+ {:wday => 1, :week => 1, :name => "May Day", :regions => [:ie]},
239
+ {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
240
+ {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
241
+ {:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
242
+ {:mday => 21, :name => "Festa di San Zeno", :regions => [:it_vr]},
243
+ {:mday => 1, :name => "Tag der Arbeit", :regions => [:li]},
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]},
249
+ {:mday => 4, :type => :informal, :name => "Dodenherdenking", :regions => [:nl]},
250
+ {:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]},
251
+ {:mday => 1, :name => "1. mai", :regions => [:no]},
252
+ {:mday => 17, :name => "17. mai", :regions => [:no]},
253
+ {:mday => 1, :name => "Święto Państwowe (Święto Pracy)", :regions => [:pl]},
254
+ {:mday => 2, :type => :informal, :name => "Dzień Flagi Rzeczpospolitej Polskiej", :regions => [:pl]},
255
+ {:mday => 3, :name => "Święto Narodowe Trzeciego Maja", :regions => [:pl]},
256
+ {:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]},
257
+ {:mday => 1, :name => "Ziua muncii", :regions => [:ro]},
258
+ {:mday => 1, :name => "Sviatok práce", :regions => [:sk]},
259
+ {:mday => 8, :name => "Deň víťazstva nad fašizmom", :regions => [:sk]},
260
+ {:mday => 1, :name => "praznik dela", :regions => [:si]},
261
+ {:mday => 2, :name => "praznik dela", :regions => [:si]},
262
+ {:mday => 1, :name => "Labour Day", :regions => [:bg_en]},
263
+ {:mday => 1, :name => "Ден на труда", :regions => [:bg_bg]},
264
+ {:mday => 6, :name => "St. George's Day", :regions => [:bg_en]},
265
+ {:mday => 6, :name => "Гергьовден. Ден на храбростта", :regions => [:bg_bg]},
266
+ {:mday => 24, :name => "Slavic Literacy Day", :regions => [:bg_en]},
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]}],
271
+ 8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at]},
272
+ {:mday => 15, :name => "Assomption", :regions => [:be_fr]},
273
+ {:mday => 15, :name => "O.L.V. Hemelvaart", :regions => [:be_nl]},
274
+ {:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
275
+ {: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
+ {: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, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Asunción", :regions => [:es]},
279
+ {:mday => 15, :name => "Assomption", :regions => [:fr]},
280
+ {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
281
+ {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]},
282
+ {:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:gr]},
283
+ {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
284
+ {:mday => 15, :name => "Velika Gospa", :regions => [:hr]},
285
+ {:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]},
286
+ {:wday => 1, :week => 1, :name => "August Bank Holiday", :regions => [:ie]},
287
+ {:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]},
288
+ {:mday => 15, :name => "Assunzione", :regions => [:it]},
289
+ {:mday => 15, :name => "Staatsfeiertag", :regions => [:li]},
290
+ {:mday => 15, :name => "Žolinė", :regions => [:lt]},
291
+ {:mday => 15, :name => "Wniebowzięcie Najświętszej Maryi Panny", :regions => [:pl]},
292
+ {:mday => 15, :name => "Święto Wojska Polskiego", :regions => [:pl]},
293
+ {:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]},
294
+ {:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]},
295
+ {:mday => 29, :name => "Výročie Slovenského národného povstania", :regions => [:sk]},
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]}],
298
+ 10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]},
299
+ {:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]},
300
+ {:mday => 3, :year_ranges => { :from => 1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
301
+ {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
302
+ {:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
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]},
305
+ {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
306
+ {:mday => 12, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Hispanidad", :regions => [:es]},
307
+ {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:gr]},
308
+ {:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]},
309
+ {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
310
+ {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
311
+ {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
312
+ {:mday => 5, :name => "Dia da República", :regions => [:pt]},
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]}],
315
+ 11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]},
316
+ {:mday => 1, :name => "Toussaint", :regions => [:be_fr]},
317
+ {:mday => 11, :name => "Armistice 1918", :regions => [:be_fr]},
318
+ {:mday => 1, :name => "Allerheiligen", :regions => [:be_nl]},
319
+ {:mday => 11, :name => "Wapenstilstand 1918", :regions => [:be_nl]},
320
+ {:function => "ch_be_zibelemaerit(year)", :function_arguments => [:year], :name => "Zibelemärit", :regions => [:ch_be]},
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]},
322
+ {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
323
+ {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
324
+ {: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]},
326
+ {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Todos los Santos", :regions => [:es]},
327
+ {:mday => 1, :name => "Toussaint", :regions => [:fr]},
328
+ {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
329
+ {:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
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]},
334
+ {:mday => 1, :name => "Mindenszentek", :regions => [:hu]},
335
+ {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]},
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]},
339
+ {:mday => 1, :name => "Allerheiligen", :regions => [:li]},
340
+ {:mday => 1, :name => "Visų šventųjų diena", :regions => [:lt]},
341
+ {:mday => 2, :name => "Mirusiųjų atminimo (Vėlinių) diena", :regions => [:lt]},
342
+ {:mday => 18, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Proklamēšanas diena", :regions => [:lv]},
343
+ {:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
344
+ {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
345
+ {:mday => 11, :name => "Narodowe Święto Niepodległości", :regions => [:pl]},
346
+ {:mday => 29, :type => :informal, :name => "Andrzejki", :regions => [:pl]},
347
+ {:mday => 1, :name => "Dia de Todos-os-Santos", :regions => [:pt]},
348
+ {:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]},
349
+ {:mday => 1, :name => "Sviatok všetkých svätých", :regions => [:sk]},
350
+ {:mday => 17, :name => "Deň boja za slobodu a demokraciu", :regions => [:sk]},
351
+ {:mday => 1, :name => "dan spomina na mrtve", :regions => [:si]},
352
+ {:mday => 1, :name => "Revival Leader's Day", :regions => [:bg_en]},
353
+ {:mday => 1, :name => "Ден на Народните будители", :regions => [:bg_bg]}],
354
+ 12 => [{:mday => 8, :name => "Mariä Empfängnis", :regions => [:at]},
355
+ {:mday => 25, :name => "1. Weihnachtstag", :regions => [:at]},
356
+ {:mday => 26, :name => "2. Weihnachtstag", :regions => [:at]},
357
+ {:mday => 25, :name => "Noël", :regions => [:be_fr]},
358
+ {:mday => 25, :name => "Kerstmis", :regions => [:be_nl]},
359
+ {:mday => 8, :name => "Maria Empfängnis", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_ai, :ch_ag, :ch_ti, :ch_vs]},
360
+ {:mday => 25, :name => "Weihnachten", :regions => [:ch]},
361
+ {:mday => 26, :name => "Stefanstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vs, :ch_ne]},
362
+ {:mday => 31, :name => "Restauration de la République", :regions => [:ch_ge]},
363
+ {:mday => 24, :name => "Štědrý den", :regions => [:cz]},
364
+ {:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]},
365
+ {:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]},
366
+ {:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
367
+ {:mday => 24, :type => :informal, :name => "Juleaftensdag", :regions => [:dk]},
368
+ {:mday => 25, :name => "1. juledag", :regions => [:dk]},
369
+ {:mday => 26, :name => "2. juledag", :regions => [:dk]},
370
+ {:mday => 24, :type => :informal, :name => "Heilig Abend", :regions => [:de]},
371
+ {:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
372
+ {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]},
373
+ {:mday => 31, :type => :informal, :name => "Silvester", :regions => [:de]},
374
+ {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Constitución", :regions => [:es]},
375
+ {:mday => 8, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Inmaculada Concepción", :regions => [:es]},
376
+ {:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Navidad del Señor", :regions => [:es]},
377
+ {:mday => 26, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San Esteban", :regions => [:es_ib, :es_ct]},
378
+ {:mday => 25, :name => "Noël", :regions => [:fr]},
379
+ {:mday => 26, :name => "Saint-Étienne", :regions => [:fr_a, :fr_m]},
380
+ {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:gb]},
381
+ {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:gb]},
382
+ {:mday => 25, :name => "Χριστούγεννα", :regions => [:gr]},
383
+ {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:gr]},
384
+ {:mday => 25, :name => "Božić", :regions => [:hr]},
385
+ {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]},
386
+ {:mday => 25, :name => "Karácsony", :regions => [:hu]},
387
+ {:mday => 26, :name => "Karácsony", :regions => [:hu]},
388
+ {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ie]},
389
+ {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "St. Stephen's Day", :regions => [:ie]},
390
+ {:mday => 24, :name => "Jól", :regions => [:is]},
391
+ {:mday => 25, :name => "Jól", :regions => [:is]},
392
+ {:mday => 26, :name => "Jól", :regions => [:is]},
393
+ {:mday => 31, :name => "Gamlárskvöld", :regions => [:is]},
394
+ {:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
395
+ {:mday => 25, :name => "Natale", :regions => [:it]},
396
+ {:mday => 26, :name => "Santo Stefano", :regions => [:it]},
397
+ {:mday => 8, :name => "Maria Empfängnis", :regions => [:li]},
398
+ {:mday => 24, :name => "Heilig Abend", :regions => [:li]},
399
+ {:mday => 25, :name => "Weihnachten", :regions => [:li]},
400
+ {:mday => 26, :name => "Stefanstag", :regions => [:li]},
401
+ {:mday => 31, :name => "Silvester", :regions => [:li]},
402
+ {:mday => 24, :name => "Šv. Kūčios", :regions => [:lt]},
403
+ {:mday => 25, :name => "Šv. Kalėdos", :regions => [:lt]},
404
+ {:mday => 26, :name => "Antroji Kalėdų diena", :regions => [:lt]},
405
+ {:mday => 24, :name => "Ziemassvētku vakars", :regions => [:lv]},
406
+ {:mday => 25, :name => "Pirmie Ziemassvētki", :regions => [:lv]},
407
+ {:mday => 26, :name => "Otrie Ziemassvētki", :regions => [:lv]},
408
+ {:mday => 31, :name => "Vecgada diena", :regions => [:lv]},
409
+ {:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
410
+ {:mday => 25, :name => "Eerste Kerstdag", :regions => [:nl]},
411
+ {:mday => 26, :name => "Tweede Kerstdag", :regions => [:nl]},
412
+ {:mday => 24, :type => :informal, :name => "Julaften", :regions => [:no]},
413
+ {:mday => 25, :name => "1. juledag", :regions => [:no]},
414
+ {:mday => 26, :name => "2. juledag", :regions => [:no]},
415
+ {:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]},
416
+ {:mday => 4, :type => :informal, :name => "Barbórka (Dzień Górnika, Naftowca i Gazownika)", :regions => [:pl]},
417
+ {:mday => 6, :type => :informal, :name => "Mikołajki", :regions => [:pl]},
418
+ {:mday => 24, :year_ranges => { :from => 2025 },:name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
419
+ {:mday => 24, :year_ranges => { :until => 2024 },:type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
420
+ {:mday => 25, :name => "pierwszy dzień Bożego Narodzenia", :regions => [:pl]},
421
+ {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
422
+ {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]},
423
+ {:mday => 1, :name => "Restauração da Independência", :regions => [:pt]},
424
+ {:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
425
+ {:mday => 25, :name => "Natal", :regions => [:pt]},
426
+ {:mday => 1, :name => "Ziua Națională", :regions => [:ro]},
427
+ {:mday => 25, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
428
+ {:mday => 26, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
429
+ {:mday => 24, :name => "Štedrý deň", :regions => [:sk]},
430
+ {:mday => 25, :name => "1. sviatok vianočný", :regions => [:sk]},
431
+ {:mday => 26, :name => "2. sviatok vianočný", :regions => [:sk]},
432
+ {:mday => 25, :name => "božič", :regions => [:si]},
433
+ {:mday => 26, :name => "dan samostojnosti in enotnosti", :regions => [:si]},
434
+ {:mday => 24, :name => "Christmas Eve", :regions => [:bg_en]},
435
+ {:mday => 24, :name => "Бъдни вечер", :regions => [:bg_bg]},
436
+ {:mday => 25, :name => "Christmas", :regions => [:bg_en]},
437
+ {:mday => 25, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
438
+ {:mday => 26, :name => "Christmas", :regions => [:bg_en]},
439
+ {:mday => 26, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
440
+ {:mday => 25, :year_ranges => { :from => 2017 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Різдво Христове", :regions => [:ua]}],
441
+ 7 => [{:mday => 21, :name => "Fête nationale", :regions => [:be_fr]},
442
+ {:mday => 21, :name => "Nationale Feestdag", :regions => [:be_nl]},
443
+ {:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
444
+ {:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]},
445
+ {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Santiago Apostol", :regions => [:es_ga]},
446
+ {:mday => 14, :name => "Fête nationale", :regions => [:fr]},
447
+ {:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
448
+ {:mday => 12, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Battle of the Boyne", :regions => [:gb_nir]},
449
+ {:mday => 6, :name => "Valstybės diena", :regions => [:lt]},
450
+ {:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]},
451
+ {:mday => 16, :year_ranges => { :limited => [1991] },:name => "День Незалежності України", :regions => [:ua]}],
452
+ 3 => [{:mday => 1, :name => "Instauration de la République", :regions => [:ch_ne]},
453
+ {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]},
454
+ {:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
455
+ {:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]},
456
+ {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de las Islas Baleares", :regions => [:es_ib]},
457
+ {: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]},
458
+ {:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
459
+ {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:gb_nir]},
460
+ {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:gr]},
461
+ {:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]},
462
+ {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:ie]},
463
+ {:mday => 19, :name => "St. Josef", :regions => [:li]},
464
+ {:mday => 11, :name => "Nepriklausomybės atkūrimo diena", :regions => [:lt]},
465
+ {:mday => 8, :type => :informal, :name => "Dzień Kobiet", :regions => [:pl]},
466
+ {:mday => 10, :type => :informal, :name => "Dzień Mężczyzn", :regions => [:pl]},
467
+ {:mday => 3, :name => "Liberation Day", :regions => [:bg_en]},
468
+ {:mday => 3, :name => "Освобожението на България", :regions => [:bg_bg]},
469
+ {:mday => 8, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Міжнародний жіночий день", :regions => [:ua]}],
470
+ 4 => [{:function => "ch_gl_naefelser_fahrt(year)", :function_arguments => [:year], :name => "Näfelser Fahrt", :regions => [:ch_gl]},
471
+ {:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
472
+ {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
473
+ {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
474
+ {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Castilla y León", :regions => [:es_cl]},
475
+ {:mday => 23, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "San Jorge, Día de Aragón", :regions => [:es_ar]},
476
+ {:function => "is_sumardagurinn_fyrsti(year)", :function_arguments => [:year], :name => "Sumardagurinn fyrsti", :regions => [:is]},
477
+ {:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
478
+ {:mday => 25, :name => "Festa di San Marco Evangelista", :regions => [:it_ve]},
479
+ {:mday => 27, :name => "Festa di San Liberale", :regions => [:it_tv]},
480
+ {:mday => 27, :name => "Koningsdag", :regions => [:nl]},
481
+ {:mday => 1, :type => :informal, :name => "Prima Aprilis", :regions => [:pl]},
482
+ {:mday => 22, :type => :informal, :name => "Międzynarodowy Dzień Ziemi", :regions => [:pl]},
483
+ {:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]},
484
+ {:mday => 27, :name => "dan upora proti okupatorju", :regions => [:si]}],
485
+ 6 => [{:mday => 23, :name => "Commémoration du plébiscite jurassien", :regions => [:ch_ju]},
486
+ {:mday => 29, :name => "San Pietro e Paolo", :regions => [:ch_ti]},
487
+ {:mday => 5, :type => :informal, :name => "Grundlovsdag", :regions => [:dk]},
488
+ {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
489
+ {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
490
+ {:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
491
+ {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región de Murcia", :regions => [:es_mu]},
492
+ {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de La Rioja", :regions => [:es_lo]},
493
+ {:mday => 24, :name => "San Juan", :regions => [:es_ct, :es_vc]},
494
+ {:mday => 2, :year_ranges => { :limited => [2022] },:name => "Bank Holiday", :regions => [:gb]},
495
+ {:mday => 3, :year_ranges => { :limited => [2022] },:name => "Platinum Jubilee", :regions => [:gb]},
496
+ {:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
497
+ {:mday => 25, :year_ranges => { :until => 2019 },:name => "Dan državnosti", :regions => [:hr]},
498
+ {:wday => 1, :week => 1, :name => "June Bank Holiday", :regions => [:ie]},
499
+ {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
500
+ {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
501
+ {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
502
+ {:mday => 13, :name => "Festa di Sant'Antonio di Padova", :regions => [:it_pd]},
503
+ {:mday => 24, :name => "Festa di San Giovanni Battista", :regions => [:it_fi, :it_ge, :it_to]},
504
+ {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]},
505
+ {:mday => 24, :name => "Joninės", :regions => [:lt]},
506
+ {:mday => 23, :name => "Līgo diena", :regions => [:lv]},
507
+ {:mday => 24, :name => "Jāņu diena", :regions => [:lv]},
508
+ {:mday => 23, :type => :informal, :name => "Dzień Ojca", :regions => [:pl]},
509
+ {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]},
510
+ {:mday => 13, :name => "Dia de Santo António", :regions => [:pt_li]},
511
+ {:mday => 24, :name => "Dia de São João", :regions => [:pt_po]},
512
+ {:mday => 1, :year_ranges => { :from => 2017 },:name => "Ziua Copilului", :regions => [:ro]},
513
+ {:mday => 25, :name => "dan državnosti", :regions => [:si]},
514
+ {:mday => 28, :year_ranges => { :from => 1997 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "День Конституції", :regions => [:ua]}],
515
+ 9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
516
+ {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]},
517
+ {:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
518
+ {:mday => 20, :year_ranges => { :from => 2019 },:name => "Weltkindertag", :regions => [:de_th]},
519
+ {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Ceuta", :regions => [:es_ce]},
520
+ {:mday => 8, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Asturias", :regions => [:es_o]},
521
+ {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
522
+ {:mday => 11, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]},
523
+ {:mday => 24, :name => "La Mercè", :regions => [:es_ct]},
524
+ {:mday => 19, :year_ranges => { :limited => [2022] },:name => "Bank Holiday for the State Funeral of Queen Elizabeth II", :regions => [:gb]},
525
+ {:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]},
526
+ {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
527
+ {:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]},
528
+ {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
529
+ {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
530
+ {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]},
531
+ {:mday => 6, :name => "Unification Day", :regions => [:bg_en]},
532
+ {:mday => 6, :name => "Ден на Съединението", :regions => [:bg_bg]},
533
+ {:mday => 22, :name => "The Independence Day", :regions => [:bg_en]},
534
+ {:mday => 22, :name => "Ден на Независимостта", :regions => [:bg_bg]}],
535
+ 2 => [{:mday => 28, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Andalucía", :regions => [:es_an]},
536
+ {:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]},
537
+ {:mday => 2, :name => "Maria Lichtmess", :regions => [:li]},
538
+ {:mday => 16, :name => "Valstybės atkūrimo diena", :regions => [:lt]},
539
+ {:mday => 2, :type => :informal, :name => "Ofiarowanie Pańskie (Matki Boskiej Gromnicznej)", :regions => [:pl]},
540
+ {:mday => 14, :type => :informal, :name => "Dzień Zakochanych (Walentynki)", :regions => [:pl]},
541
+ {:mday => 8, :name => "Prešernov dan, slovenski kulturni praznik", :regions => [:si]}]
542
+ }
543
+ end
544
+
545
+ def self.custom_methods
546
+ {
547
+ "ch_vd_lundi_du_jeune_federal(year)" => Proc.new { |year|
548
+ date = Date.civil(year,9,1)
549
+ # Find the first Sunday of September
550
+ until date.wday.eql? 0 do
551
+ date += 1
552
+ end
553
+ # There are 15 days between the first Sunday
554
+ # and the Monday after the third Sunday
555
+ date + 15
556
+ },
557
+
558
+ "ch_ge_jeune_genevois(year)" => Proc.new { |year|
559
+ date = Date.civil(year,9,1)
560
+ # Find the first Sunday of September
561
+ until date.wday.eql? 0 do
562
+ date += 1
563
+ end
564
+ # Thursday is four days after Sunday
565
+ date + 4
566
+ },
567
+
568
+ "ch_gl_naefelser_fahrt(year)" => Proc.new { |year|
569
+ date = Date.civil(year,4,1)
570
+ # Find the first Thursday of April
571
+ until date.wday.eql? 4 do
572
+ date += 1
573
+ end
574
+
575
+ if date.eql?(Holidays::Factory::DateCalculator::Easter::Gregorian.easter_calculator.calculate_easter_for(year)-3)
576
+ date += 7
577
+ end
578
+ date
579
+ },
580
+
581
+ "ch_be_zibelemaerit(year)" => Proc.new { |year|
582
+ date = Date.civil(year,11,1)
583
+ # Find the first Monday of November
584
+ until date.wday.eql? 1 do
585
+ date += 1
586
+ end
587
+ # There are 21 days between the first monday
588
+ # and the 4rth Monday after
589
+ date + 21
590
+ },
591
+
592
+ "de_buss_und_bettag(year)" => Proc.new { |year|
593
+ date = Date.civil(year,11,23)
594
+ if date.wday > 3
595
+ date -= (date.wday - 3)
596
+ else
597
+ date -= (date.wday + 4)
598
+ end
599
+ date
600
+ },
601
+
602
+ "is_sumardagurinn_fyrsti(year)" => Proc.new { |year|
603
+ date = Date.civil(year,4,18)
604
+ if date.wday < 4
605
+ date += (4 - date.wday)
606
+ else
607
+ date += (11 - date.wday)
608
+ end
609
+ date
610
+ },
611
+
612
+ "lv_song_and_dance_festival_end_date(year)" => Proc.new { |year|
613
+ case year
614
+ when 2018
615
+ # 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")
616
+ Date.new(2018, 7, 8)
617
+ when 2023
618
+ # 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")
619
+ Date.new(2023, 7, 9)
620
+ when 2028
621
+ # Event's period/next year is known, but precise dates aren't.
622
+ # Previously, dates were announced 2 years ahead, so on ~2026-05 this method would need to be revisited.
623
+ end
624
+ },
625
+
626
+ "pl_trzech_kroli(year)" => Proc.new { |year|
627
+ year >= 2011 ? 6 : nil
628
+ },
629
+
630
+ "pl_trzech_kroli_informal(year)" => Proc.new { |year|
631
+ year < 2011 ? 6 : nil
632
+ },
633
+
634
+
635
+ }
636
+ end
637
+ end
638
+ end