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,352 @@
1
+ # Holiday definitions
2
+
3
+ ## 5.7.4
4
+
5
+ * Fix missing GR entry in index.yaml
6
+
7
+ ## 5.7.3
8
+
9
+ * Fix stupid naming problem in Greece yaml file
10
+
11
+ ## 5.7.2
12
+
13
+ * Fix `gr` in index countries
14
+
15
+ ## 5.7.1
16
+
17
+ * Fix GitHub Actions
18
+ * Add Kenya correctly (thanks to https://github.com/bkmgit)
19
+ * Add Weltkindertag (thanks to https://github.com/dennisvandehoef)
20
+ * Add Nov 2 for `lt` (thanks to https://github.com/Brunas)
21
+ * Use correct country code for Greece (thanks to https://github.com/toy)
22
+ * Update Australian Queen/King public holiday (thanks to https://github.com/lairtonmendes)
23
+
24
+ ## 5.7.0
25
+
26
+ * Add GitHub Actions
27
+ * Remove Travis CI config
28
+ * Black Consciousness holiday [br] (thanks to https://github.com/hbontempo-cw)
29
+ * NZ monarch change (thanks to https://github.com/michael-smith-nz)
30
+
31
+ ## 5.6.2
32
+
33
+ * Fix tests for `gb` coronation of King Charles
34
+ * Fix spacing for `au` defs
35
+ * Fix `au_act` reconciliation day
36
+
37
+ ## 5.6.1
38
+
39
+ * Fix `de` holiday for 'Tag der Deutschen Einheit' to correctly use `year_ranges` syntax
40
+
41
+ ## 5.6.0
42
+
43
+ * Update `ca`, `ca_bc, `ca_nt, `ca_pe`, `ca_yt` for national truth and reconciliation day (thanks to https://github.com/danger-ranger)
44
+ * Update `au_act` with reconcilation day (thanks to https://github.com/mylestan)
45
+ * Update `lv` with ice hockey team bronze medal holiday (thanks to https://github.com/aleksandrs-ledovskis)
46
+ * Update `fr` region for Pentecote (thanks to https://github.com/skalimer0)
47
+ * Update for `gb` region for bank holidays (thanks to https://github.com/i2chris)
48
+ * Update for `de` region for tag der deutcshen (thanks to https://github.com/HanSolo72)
49
+ * Update for `dk` for store bededag (thanks to https://github.com/LarsDK)
50
+ * Update for `de_mv` for Internationaler Frauentag (thanks to https://github.com/jiveeee)
51
+ * Update for `gb` for King Charles bank holiday (thanks to https://github.com/ryanharkins)
52
+
53
+ ## 5.5.0
54
+
55
+ * Update `si` region to add `novo leto` (thanks to https://github.com/vlakre)
56
+ * Add informal Mothering Sunday in UK+IE (thanks to https://github.com/ericcj)
57
+ * Add Juneteenth for `federalreserve` and `federalreservebanks` (thanks to https://github.com/kapil2004)
58
+ * Create `ke` region with initial holidays (thanks to https://github.com/bkmgit)
59
+ * Add planned 2023 ocurrence of Latvian Song and Dance festival (thanks to https://github.com/aleksandrs-ledovskis)
60
+ * Update `mx` holidays for accuracy (thanks to https://github.com/andres107)
61
+ * Add Juneteenth to NYSE calendar (thanks to https://github.com/vassilios)
62
+ * Add Matariki to `nz` (thanks to https://github.com/bagp1)
63
+ * Adds function to calculate shifting Ekka holiday (thanks to https://github.com/antonivanopoulos)
64
+ * change 9th of May dan pobjede to informal holiday (thanks to https://github.com/KristjanSever)
65
+ * Add AU National Day of Mourning (thanks to https://github.com/justinjones)
66
+ * Correct KE holidays indentation (thanks to https://github.com/hlascelles)
67
+ * Add QEII Memorial Bank Holiday (thanks to https://github.com/hlascelles)
68
+
69
+ ## 5.4.1
70
+
71
+ * Add Platinum Jubilee bank holiday for 2022. (thanks to https://github.com/frankieroberto)
72
+ * Fix definitions tests.
73
+
74
+ ## 5.4.0
75
+ Brunas
76
+ * Fix boxing day in `za` region
77
+ * Fix ANZAC day in `au_vic` region (thanks to https://github.com/evjan)
78
+ * Update `ar` region holidays for accuracy (thanks to https://github.com/elsupergomez)
79
+ * Add Juneteenth holiday for `us` and `federalreservebank` regions (thanks to https://github.com/Murphydbuffalo and https://github.com/pjsier)
80
+ * Add National Day for Truth and Reconciliation for `ca` region (thanks to https://github.com/Xipher7934)
81
+ * Fix Christmas observation in `ca_on` region (thanks to https://github.com/jeffmess)
82
+
83
+ ## 5.3.1
84
+
85
+ Fix jp holidays from 2022.
86
+
87
+ * :+1: Reflects changes in Japanese holidays in 2021.(Thanks to https://github.com/ryosukeYamazaki)
88
+
89
+ ## 5.3.0
90
+
91
+ Update many defitnions.
92
+
93
+ Definitions changes:
94
+
95
+ * Change name of Foundation Day in Western Australia to 'Western Austra…(Thanks to https://github.com/mattman)
96
+ * add Kazakh holidays(Thanks to https://github.com/Legomegger)
97
+ * Add AFL Grand final dates for 2018-2020(Thanks to https://github.com/anicholson)
98
+ * Add 2021 jp holiday(Thanks to https://github.com/ryosukeYamazaki)
99
+
100
+
101
+ ## 5.2.0
102
+
103
+ Update many defitnions.
104
+
105
+ Definitions changes:
106
+
107
+ * Update hr.yaml(Thanks to https://github.com/KarloPletesImago)
108
+ * Terry Fox Day not a formal holiday(Thanks to https://github.com/tabbasi88)
109
+ * Added the Zibelemärit to the region ch_be(Thanks to https://github.com/hrigu)
110
+ * add "Lunes de Pascua Granada" to Catalunya holidays(Thanks to https://github.com/thefabbulus)
111
+ * Correcting observed Battle of the Boyne, N.Ireland (Problem occurs July 2020)(Thanks to https://github.com/qidane)
112
+ * Modify terry fox date test.
113
+ * Fix ch holidays.
114
+
115
+ ## 5.1.0
116
+
117
+ Update many defitnions.
118
+
119
+ Definitions changes:
120
+
121
+ * Add Nigerian Holidays(Thanks to https://github.com/osioke)
122
+ * Add 2024 calendar year to Federal Reserve banks(Thanks to https://github.com/JeremiahChurch)
123
+ * Nunavut July 9th new statutory holiday from 2020(Thanks to https://github.com/tabbasi88)
124
+ * Add Ramadan & Sacrafice holidays in 2020(Thanks to https://github.com/saygun)
125
+ * Mark mexicans dates as informal(Thanks to https://github.com/arandilopez)
126
+ * Add May 1 and May 9 holidays for Luxembourg(Thanks to https://github.com/pmor)
127
+ * New Croatian holidays 2020(Thanks to https://github.com/KarloPletesImago)
128
+ * DE: adde new liberation day for Berlin 2020 only(Thanks to https://github.com/estani)
129
+ * Add Québec to provinces observing Canadian Thanksgiving(Thanks to https://github.com/rafbm)
130
+
131
+
132
+ ## 5.0.1
133
+
134
+ No behavior change.
135
+
136
+ Commenting out a failing `it` test due to limitations of the current definition format. Unfortunately a holiday was added to the `it` region that falls on the same day as another existing region and we do not alwayd handle that in a uniform, consistent way. Currently there is no way to test that the _second_ region that is returned on a day is valid. Because of this I'm commenting out the test and moving forward. We'll need to add this functionality later.
137
+
138
+ I only caught this when releasing the ruby gem. This goes back once again to [this issue](https://github.com/holidays/definitions/issues/42) with how we can test against an actual implementation from this repository.
139
+
140
+ ## 5.0.0
141
+
142
+ Major semver bump due to changes related to the `year_ranges` option. The following keys have been renamed:
143
+
144
+ * `before` is now `until`
145
+ * `after` is now `from`
146
+
147
+ The behavior of these two options has not changed. To read more about the reasons behind this change please see the [associated ADR](doc/architecture/adr-002.md).
148
+
149
+ Definitions changes:
150
+
151
+ * Fix typos and syntax on `th` defs
152
+ * Update Christmas-related holidays in `us` and `ca` (thanks to https://github.com/jonjonw)
153
+ * Add `it_rm` as `it` subregion (thanks to https://github.com/stephane)
154
+ * Update `it` subregions for accuracy (thanks to https://github.com/nolith and https://github.com/NatyDev)
155
+ * Add `ro` region (thanks to https://github.com/stephane)
156
+ * Update `il` and `ca` holidays for accuracy (thanks to https://github.com/ghiculescu)
157
+ * Add `lv` region (thanks to https://github.com/aleksandrs-ledovskis)
158
+ * Update `es` holidays (thanks to https://github.com/thefabbulus)
159
+ * Update `gb` region to fix May Day (thanks to https://github.com/LauraBondini)
160
+ * Update `hu` region for Easter accuracy (thanks to https://github.com/HuBandiT)
161
+
162
+ ## 4.1.0
163
+
164
+ * Add new Emperor's Coronation Day holiday to `jp` (thanks to https://github.com/ttwo32)
165
+ * Add Thai Holidays (whoooo) (thanks to https://github.com/fabersky)
166
+ * Add Berlin's New International Women's Day to `de_be` (thanks to https://github.com/iGEL)
167
+ * Add Civic Holiday (Terry Fox Day) to `ca_mb` (thanks to https://github.com/akaspick)
168
+ * Fix Federal Reserve holidays for Independence Day (thanks to https://github.com/chadrschroeder)
169
+
170
+ ## 4.0.0
171
+
172
+ Major semver bump due to changes in how non-standard regions will be handled going forward. Please see [issue-110](https://github.com/holidays/definitions/issues/110) for more details on this edge case and please also see the updates to our [SYNTAX guide](doc/SYNTAX.md#non-standard-regions) for the specified behavior going forward.
173
+
174
+ The following non-standard regions have been changed:
175
+
176
+ * `ecb_target` region changed to `ecbtarget`
177
+ * `federal_reserve` region changed to `federalreserve`
178
+ * `federal_reserve_banks` region changed to `federalreservebanks`
179
+ * `north_america_informal` region changed to `northamericainformal`
180
+ * `united_nations` region changed to `unitednations`
181
+ * `north_america` region changed to `northamerica`
182
+ * `south_america` region changed to `southamerica`
183
+
184
+ This change also includes updates to various other regions:
185
+
186
+ * Rename national sports day of `:jp` region from "体育の日" to "スポーツの日" (thanks to https://github.com/kunitoo)
187
+ * Fix 2020 `:jp` region holidays related tokyo olympics (thanks to https://github.com/kunitoo)
188
+ * Update Family Day date in `:ca_bc` region (thanks to https://github.com/roman-ih)
189
+ * Add Ukrainian holidays (`:ua` region code) (thanks to https://github.com/roman-ih)
190
+ * Add `federalreservebanks` region for observed bank holidays (thanks to Matt Hickman)
191
+
192
+ ## 3.1.0
193
+
194
+ * Update `ch` to apply 'Neujahrstag' to overall region (thanks to https://github.com/phylor)
195
+ * Cosmetic spacing update for `us` definition, no behavior change
196
+
197
+ ## 3.0.0
198
+
199
+ Major semver bump as the format for custom methods has been changed to complete [issue-24](https://github.com/holidays/definitions/issues/24). Downstream consumers will need to update to be able to parse them. However there are **no behavior changes** with this update.
200
+
201
+ In summary: we have switched to language-specific custom methods. Instead of a plain `source` field you will need a specific language implementation, e.g. `ruby`, `golang`, etc.
202
+
203
+ Currently we only have `ruby` but we can now expand these definitions for use in other languages. Please see the [custom methods ADR](doc/architecture/adr-001.md) for more in-depth information on why this change was made.
204
+
205
+ You can also view the updated ['Methods' section in the SYNTAX doc](doc/SYNTAX.md#methods) for more info and examples.
206
+
207
+ ## 2.5.3
208
+
209
+ * Add missing `observed` logic for 'St. Patricks Day' in `gb_nir`
210
+
211
+ ## 2.5.2
212
+
213
+ * Fix `de` issue cause by undefined `year_ranges` behavior in syntax
214
+
215
+ ## 2.5.1
216
+
217
+ * Fix Federal Reserve Independence Day tests
218
+
219
+ ## 2.5.0
220
+
221
+ * Change Emperor's Birthday for `jp` definitions (thanks to https://github.com/ttwo32)
222
+ * Add German Reformation to four more states starting in 2018 (thanks to https://github.com/jensberke)
223
+ * Add 'La Mercè' to official holidays in Catalunya, Spain (thanks to https://github.com/fabersky)
224
+ * Fix Federal Reserve Saturday holidays (thanks to https://github.com/mikecanann)
225
+ * Fix the CoC link in CONTRIBUTING doc
226
+ * Remove ruby 2.2 and add ruby 2.5 to travis tests
227
+
228
+ ## 2.4.0
229
+
230
+ * Add new holidays for Canada (thanks to https://github.com/alejandrok5)
231
+
232
+ ## 2.3.0
233
+
234
+ * Fix typo in `:at` definitions (thanks to https://github.com/AlexMarold)
235
+ * Add holidays for Jersey and Guernsey (thanks to https://github.com/timkrins)
236
+ * Update Travis config to fix build issues related to imminent release of ruby 2.5
237
+
238
+ ## 2.2.1
239
+
240
+ * Small updates to tests in the `:de` regions. No behavior changes.
241
+
242
+ ## 2.2.0
243
+
244
+ * Audit provincial holidays in Canada (thanks to https://github.com/slucaskim)
245
+ * Add civic holiday for `ca_pe` (thanks to https://github.com/slucaskim)
246
+ * Correct reformation day for `de` (thanks to https://github.com/spaceneedle2019)
247
+
248
+ ## 2.1.1
249
+
250
+ * Comment out test for `추석` until a discussion can be had in [issue 69](https://github.com/holidays/definitions/issues/69) (nice)
251
+
252
+ ## 2.1.0
253
+
254
+ Update the following regions:
255
+
256
+ * `ca_ab` - change 'Heritage Day' to informal
257
+ * `kr` - Update '추석 연휴' and `설날 연휴` for accuracy
258
+ * `cl` - Add 'San Pedro y San Pablo', update 'Encuentro de Dos Mundos', and add 'Día de las Iglesias Evangélicas y Protestantes'
259
+
260
+ ## 2.0.0
261
+
262
+ * Update `tr`, `fedex` for accuracy
263
+ * Completely change the test format to no longer use ruby source code! Hooray! This should cause no behavior differences,
264
+ any differences or changes in behavior should be considered a regression.
265
+
266
+ ## 1.7.1
267
+
268
+ A small bugfix that resolves the naming issues of two regions in the 'index.yaml' file. No other outward changes.
269
+
270
+ ## 1.7.0
271
+
272
+ Here are the changes:
273
+
274
+ * Add Estonian definitions
275
+ * Enhance France definitions
276
+ * Correct and enhance German definitions
277
+ * Enhance Portuguese definitions
278
+ * Add Malta definitions
279
+ * Add Serbian definitions
280
+ * Add Georgian definitions
281
+ * Use Orthodox easter calculations in appropriate regions
282
+ * Add Russian definitions
283
+ * Add Turkey definitions
284
+ * Enhance US definitions (lots of individual US states!)
285
+ * Update South Australian definitions
286
+
287
+ ## 1.6.1
288
+
289
+ * Update `ca` test for correctness. See below for more information.
290
+
291
+ Unfortunately due to our current setup it is possible for definitions/tests in this repository to appear 'valid' but only
292
+ fail when we run them in the actual ruby holidays repo. This is a known issue (#42) and needs to be addressed.
293
+
294
+ In the meantime, this is a bugfix release to ensure we can release v5.6.0 of the ruby repo.
295
+
296
+ ## 1.6.0
297
+
298
+ Updates to the following Canadian regions: `ca_ab, ca_bc, ca_mb, ca_nt, ca_nu, ca_on, ca_sk, ca_yt, ca_pe`
299
+
300
+ ## 1.5.1
301
+
302
+ * Fix error in `fedex` custom method `day_after_thanksgiving`
303
+
304
+ ## 1.5.0
305
+
306
+ * Update NYSE to fix observed NYD
307
+ * Use native language for KR
308
+ * Use native language for VI
309
+ * Update AU definitions for accuracy
310
+ * Update KR definitions to include lunar holiday calculations
311
+ * Add VI definitions
312
+
313
+ ## 1.4.0
314
+
315
+ * :au - corrects holidays for certain regions
316
+ * :vi - reports holiday names in Vietnamese instead of English, adds 1 additional holiday (Giỗ tổ Hùng Vương)
317
+
318
+ ## 1.3.0
319
+
320
+ * Add Travis badge to README
321
+ * Add Tunisian holidays
322
+ * Correct various Australian holidays
323
+ * Updates various German regions to be more accurate
324
+ * Changed 'nf' to 'nl' for Newfoundland & Labrador
325
+ * Changed 'yk' to 'yt'kkk
326
+
327
+ ## 1.2.1
328
+
329
+ * Fix syntax and test errors in au and ca def tests
330
+
331
+ ## 1.2.0
332
+
333
+ * updates jp defs to fix 'Foundation Day' name
334
+ * Fix ca defs for observed holidays
335
+ * Update au defs to have Christmas and Boxing Day for all of Australia instead of just individual territories
336
+ * Update ie defs to consolidate "St Stephen's Day" to use common method instead of custom method
337
+
338
+ ## 1.1.0
339
+
340
+ * Add HK definitions
341
+ * Add KR definitions
342
+ * Fix small bug in JP definitions
343
+
344
+ ## 2016 1.0.0
345
+
346
+ Initial creation of this repository
347
+
348
+ This contains all of the definitions currently in the holidays repository but split out into its own repository. It will
349
+ be added as a submodule of the ruby repository, which will be responsible for generating its final classes.
350
+
351
+ The idea is that we will have repositories for multiple languages and each language is responsible for using the definitions
352
+ as it sees fit.
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'rspec', '~> 3'
4
+ gem 'pry', :require => false
5
+ gem 'spoon', :require => false
6
+ gem 'simplecov', :require => false
@@ -0,0 +1,21 @@
1
+ ==== Ruby Holidays Gem License
2
+
3
+ Copyright (c) 2016 Phil Peble
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,26 @@
1
+ ---
2
+ methods:
3
+ easter:
4
+ arguments: year
5
+ orthodox_easter:
6
+ arguments: year
7
+ orthodox_easter_julian:
8
+ arguments: year
9
+ to_monday_if_sunday:
10
+ arguments: date
11
+ to_monday_if_weekend:
12
+ arguments: date
13
+ to_weekday_if_boxing_weekend:
14
+ arguments: date
15
+ to_weekday_if_boxing_weekend_from_year:
16
+ arguments: year
17
+ to_weekday_if_weekend:
18
+ arguments: date
19
+ calculate_day_of_month:
20
+ arguments: year, month, day, wday
21
+ to_weekday_if_boxing_weekend_from_year_or_to_tuesday_if_monday:
22
+ arguments: year
23
+ to_tuesday_if_sunday_or_monday_if_saturday:
24
+ arguments: date
25
+ lunar_to_solar:
26
+ arguments: year, month, day, region
@@ -0,0 +1,9 @@
1
+ default: validate
2
+
3
+ validate:
4
+ bundle exec ruby lib/validation/run.rb
5
+
6
+ test:
7
+ bundle exec rspec
8
+
9
+ .PHONY: validate,test
@@ -0,0 +1,22 @@
1
+ # Holidays Definitions [![Build Status](https://travis-ci.org/holidays/definitions.svg?branch=master)](https://travis-ci.org/holidays/definitions)
2
+
3
+ This repository contains the 'raw' definitions for the various holidays projects. It should be added a submodule to
4
+ any project that wants to use them.
5
+
6
+ Currently it is only used by the [existing Holidays gem](https://github.com/holidays/holidays), which takes these
7
+ definitions and generates ruby classes for use in that gem. In the future it will be used by other languages in
8
+ a similar manner.
9
+
10
+ **Please note** that this is _not_ a gem. The validation process is written in ruby simply for convenience. The real
11
+ stars of this show are the YAML files.
12
+
13
+ ### Documentation
14
+
15
+ 1. [Syntax Guide](doc/SYNTAX.md)
16
+ 2. [Contribution Guidelines](doc/CONTRIBUTING.md)
17
+ 3. [Maintainer Guidelines](doc/MAINTAINERS.md)
18
+ 4. [Architecture Decision Records](doc/architecture/README.md)
19
+
20
+ ### Credits
21
+
22
+ Thank you to all of these [wonderful contributors!](https://github.com/holidays/definitions/contributors)