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,54 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/mx.yaml, definitions/northamericainformal.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module MX # :nodoc:
9
+ def self.defined_regions
10
+ [:mx, :mx_pue, :us, :ca]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 1 => [{:mday => 1, :name => "Año nuevo", :regions => [:mx]},
16
+ {:mday => 6, :type => :informal, :name => "Dia de los Santos Reyes", :regions => [:mx]}],
17
+ 2 => [{:wday => 1, :week => 1, :name => "Día de la Constitución", :regions => [:mx]},
18
+ {:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
19
+ {:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
20
+ 3 => [{:wday => 1, :week => 3, :name => "Natalicio de Benito Juárez", :regions => [:mx]},
21
+ {:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
22
+ 4 => [{:mday => 30, :type => :informal, :name => "Día del Niño", :regions => [:mx]},
23
+ {:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
24
+ {:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
25
+ 5 => [{:mday => 1, :name => "Día del Trabajo", :regions => [:mx]},
26
+ {:mday => 5, :type => :informal, :name => "Cinco de Mayo", :regions => [:mx]},
27
+ {:mday => 5, :type => :informal, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
28
+ {:mday => 10, :type => :informal, :name => "Día de la Madre", :regions => [:mx]},
29
+ {:mday => 15, :type => :informal, :name => "Día del Maestro", :regions => [:mx]},
30
+ {:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
31
+ {:wday => 6, :week => 3, :type => :informal, :name => "Armed Forces Day", :regions => [:us]}],
32
+ 6 => [{:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]},
33
+ {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
34
+ 9 => [{:mday => 15, :type => :informal, :name => "Grito de Dolores", :regions => [:mx]},
35
+ {:mday => 16, :name => "Día de la Independencia", :regions => [:mx]}],
36
+ 10 => [{:mday => 12, :type => :informal, :name => "Día de la Raza", :regions => [:mx]},
37
+ {:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
38
+ 11 => [{:mday => 1, :type => :informal, :name => "Todos los Santos", :regions => [:mx]},
39
+ {:mday => 2, :type => :informal, :name => "Los Fieles Difuntos", :regions => [:mx]},
40
+ {:wday => 1, :week => 3, :name => "Día de la Revolución", :regions => [:mx]}],
41
+ 12 => [{:mday => 12, :type => :informal, :name => "Día de la Virgen de Guadalupe", :regions => [:mx]},
42
+ {:mday => 24, :type => :informal, :name => "Nochebuena", :regions => [:mx]},
43
+ {:mday => 25, :name => "Navidad", :regions => [:mx]},
44
+ {:mday => 28, :type => :informal, :name => "Los Santos Inocentes", :regions => [:mx]}]
45
+ }
46
+ end
47
+
48
+ def self.custom_methods
49
+ {
50
+
51
+ }
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/my.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module MY # :nodoc:
9
+ def self.defined_regions
10
+ [:my]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:my]}],
16
+ 5 => [{:mday => 1, :name => "Labour Day", :regions => [:my]}],
17
+ 6 => [{:mday => 4, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Agong's Birthday", :regions => [:my]}],
18
+ 8 => [{:mday => 31, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:my]}],
19
+ 9 => [{:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Malaysia Day", :regions => [:my]}],
20
+ 12 => [{:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:my]}]
21
+ }
22
+ end
23
+
24
+ def self.custom_methods
25
+ {
26
+
27
+ }
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/nerc.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NERC # :nodoc:
9
+ def self.defined_regions
10
+ [:nerc]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:nerc]}],
16
+ 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:nerc]}],
17
+ 7 => [{:mday => 4, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:nerc]}],
18
+ 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:nerc]}],
19
+ 11 => [{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:nerc]}],
20
+ 12 => [{:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:nerc]}]
21
+ }
22
+ end
23
+
24
+ def self.custom_methods
25
+ {
26
+
27
+ }
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/ng.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NG # :nodoc:
9
+ def self.defined_regions
10
+ [:ng]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:ng]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ng]}],
17
+ 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ng]}],
18
+ 5 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Workers' Day", :regions => [:ng]},
19
+ {:mday => 27, :type => :informal, :name => "Children's Day", :regions => [:ng]}],
20
+ 6 => [{:mday => 12, :year_ranges => { :from => 2018 },:name => "Democracy Day", :regions => [:ng]}],
21
+ 10 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:ng]}],
22
+ 12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ng]},
23
+ {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:ng]}]
24
+ }
25
+ end
26
+
27
+ def self.custom_methods
28
+ {
29
+
30
+ }
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/nl.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NL # :nodoc:
9
+ def self.defined_regions
10
+ [:nl]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Goede Vrijdag", :regions => [:nl]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Eerste Paasdag", :regions => [:nl]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Tweede Paasdag", :regions => [:nl]},
18
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Hemelvaartsdag", :regions => [:nl]},
19
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Eerste Pinksterdag", :regions => [:nl]},
20
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Tweede Pinksterdag", :regions => [:nl]}],
21
+ 1 => [{:mday => 1, :name => "Nieuwjaarsdag", :regions => [:nl]}],
22
+ 4 => [{:mday => 27, :name => "Koningsdag", :regions => [:nl]}],
23
+ 5 => [{:mday => 4, :type => :informal, :name => "Dodenherdenking", :regions => [:nl]},
24
+ {:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]}],
25
+ 12 => [{:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
26
+ {:mday => 25, :name => "Eerste Kerstdag", :regions => [:nl]},
27
+ {:mday => 26, :name => "Tweede Kerstdag", :regions => [:nl]}]
28
+ }
29
+ end
30
+
31
+ def self.custom_methods
32
+ {
33
+
34
+ }
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/no.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NO # :nodoc:
9
+ def self.defined_regions
10
+ [:no]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -49, :type => :informal, :name => "Fastelavn", :regions => [:no]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -7, :name => "Palmesøndag", :regions => [:no]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Skjærtorsdag", :regions => [:no]},
18
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:no]},
19
+ {:function => "easter(year)", :function_arguments => [:year], :name => "1. påskedag", :regions => [:no]},
20
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. påskedag", :regions => [:no]},
21
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:no]},
22
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "1. pinsedag", :regions => [:no]},
23
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. pinsedag", :regions => [:no]}],
24
+ 1 => [{:mday => 1, :name => "Nyttårsdag", :regions => [:no]}],
25
+ 5 => [{:mday => 1, :name => "1. mai", :regions => [:no]},
26
+ {:mday => 17, :name => "17. mai", :regions => [:no]}],
27
+ 12 => [{:mday => 24, :type => :informal, :name => "Julaften", :regions => [:no]},
28
+ {:mday => 25, :name => "1. juledag", :regions => [:no]},
29
+ {:mday => 26, :name => "2. juledag", :regions => [:no]},
30
+ {:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]}]
31
+ }
32
+ end
33
+
34
+ def self.custom_methods
35
+ {
36
+
37
+ }
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,229 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/ca.yaml, definitions/mx.yaml, definitions/us.yaml, definitions/northamericainformal.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NORTHAMERICA # :nodoc:
9
+ def self.defined_regions
10
+ [:ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :mx, :mx_pue, :us_fl, :us_la, :us, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_al, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_pa, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:ca]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Easter Sunday", :regions => [:ca]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :type => :informal, :name => "Easter Monday", :regions => [:ca]},
18
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Shrove Tuesday", :regions => [:us_fl]},
19
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -47, :name => "Mardi Gras Day", :regions => [:us_la]},
20
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :type => :informal, :name => "Good Friday", :regions => [:us]},
21
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_la, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn]},
22
+ {:function => "easter(year)", :function_arguments => [:year], :type => :informal, :name => "Easter Sunday", :regions => [:us]}],
23
+ 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ca]},
24
+ {:mday => 2, :name => "New Year's", :regions => [:ca_qc]},
25
+ {:mday => 1, :name => "Año nuevo", :regions => [:mx]},
26
+ {:mday => 6, :type => :informal, :name => "Dia de los Santos Reyes", :regions => [:mx]},
27
+ {:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:us]},
28
+ {:wday => 1, :week => 3, :name => "Martin Luther King's and Robert E. Lee's Birthdays", :regions => [:us_ms]},
29
+ {:wday => 1, :week => 3, :name => "Idaho Human Rights Day", :regions => [:us_id]},
30
+ {:wday => 1, :week => 3, :name => "Civil Rights Day", :regions => [:us_ar]},
31
+ {:wday => 1, :week => 3, :name => "Martin Luther King, Jr. Day", :regions => [:us]},
32
+ {:function => "us_inauguration_day(year)", :function_arguments => [:year], :name => "Inauguration Day", :regions => [:us_tx, :us_dc, :us_la, :us_md, :us_va]},
33
+ {:function => "lee_jackson_day(year, month)", :function_arguments => [:year, :month], :name => "Lee-Jackson Day", :regions => [:us_va]},
34
+ {:mday => 19, :name => "Confederate Heroes Day", :regions => [:us_tx]}],
35
+ 2 => [{:wday => 1, :week => 3, :year_ranges => { :from => 1990 },:name => "Family Day", :regions => [:ca_ab]},
36
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2007 },:name => "Family Day", :regions => [:ca_sk]},
37
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2008 },:name => "Family Day", :regions => [:ca_on]},
38
+ {:wday => 1, :week => 2, :year_ranges => { :between => 2013..2018 },:name => "Family Day", :regions => [:ca_bc]},
39
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2019 },:name => "Family Day", :regions => [:ca_bc]},
40
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2018 },:name => "Family Day", :regions => [:ca_nb]},
41
+ {:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
42
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2015 },:name => "Nova Scotia Heritage Day", :regions => [:ca_ns]},
43
+ {:wday => 1, :week => 3, :name => "Islander Day", :regions => [:ca_pe]},
44
+ {:wday => 1, :week => 1, :name => "Día de la Constitución", :regions => [:mx]},
45
+ {:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
46
+ {:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
47
+ {:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
48
+ 3 => [{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:ca_nl]},
49
+ {:mday => 23, :type => :informal, :name => "St. George's Day", :regions => [:ca_nl]},
50
+ {:wday => 1, :week => 3, :name => "Natalicio de Benito Juárez", :regions => [:mx]},
51
+ {:wday => 2, :week => 1, :name => "Town Meeting Day", :regions => [:us_vt]},
52
+ {:mday => 2, :name => "Texas Independence Day", :regions => [:us_tx]},
53
+ {:mday => 26, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Prince Jonah Kuhio Kalanianaole Day", :regions => [:us_hi]},
54
+ {:wday => 1, :week => -1, :name => "Seward's Day", :regions => [:us_ak]},
55
+ {:mday => 31, :name => "César Chávez Day", :regions => [:us_ca]},
56
+ {:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
57
+ 5 => [{:function => "ca_victoria_day(year)", :function_arguments => [:year], :name => "Victoria Day", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nt, :ca_nu, :ca_on, :ca_sk, :ca_yt]},
58
+ {:function => "ca_victoria_day(year)", :function_arguments => [:year], :name => "National Patriotes Day", :regions => [:ca_qc]},
59
+ {:mday => 1, :name => "Día del Trabajo", :regions => [:mx]},
60
+ {:mday => 5, :type => :informal, :name => "Cinco de Mayo", :regions => [:mx]},
61
+ {:mday => 5, :type => :informal, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
62
+ {:mday => 10, :type => :informal, :name => "Día de la Madre", :regions => [:mx]},
63
+ {:mday => 15, :type => :informal, :name => "Día del Maestro", :regions => [:mx]},
64
+ {:mday => 8, :name => "Truman Day", :regions => [:us_mo]},
65
+ {:mday => 10, :name => "Confederate Memorial Day", :regions => [:us_sc]},
66
+ {:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
67
+ {:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
68
+ {:wday => 6, :week => 3, :type => :informal, :name => "Armed Forces Day", :regions => [:us]}],
69
+ 6 => [{:mday => 24, :type => :informal, :name => "Discovery Day", :regions => [:ca_nl]},
70
+ {:mday => 24, :name => "Fête Nationale", :regions => [:ca_qc]},
71
+ {:mday => 21, :name => "National Aboriginal Day", :regions => [:ca_nt]},
72
+ {:mday => 21, :year_ranges => { :from => 2017 },:name => "National Aboriginal Day", :regions => [:ca_yt]},
73
+ {:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]},
74
+ {:wday => 1, :week => 1, :name => "Jefferson Davis' Birthday", :regions => [:us_al]},
75
+ {:mday => 3, :name => "Birthday of Jefferson Davis", :regions => [:us_fl]},
76
+ {:mday => 11, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "King Kamehameha I Day", :regions => [:us_hi]},
77
+ {:mday => 19, :year_ranges => { :from => 2021 },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Juneteenth National Independence Day", :regions => [:us]},
78
+ {:mday => 19, :name => "Emancipation Day in Texas", :regions => [:us_tx]},
79
+ {:mday => 20, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "West Virginia Day", :regions => [:us_wv]},
80
+ {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
81
+ 7 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Canada Day", :regions => [:ca]},
82
+ {:mday => 12, :type => :informal, :name => "Orangemen's Day", :regions => [:ca_nl]},
83
+ {:mday => 9, :year_ranges => { :from => 2020 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Nunavut Day", :regions => [:ca_nu]},
84
+ {:mday => 3, :name => "Emancipation Day", :regions => [:us_vi]},
85
+ {:mday => 4, :name => "Independence Day", :regions => [:us]},
86
+ {:mday => 4, :function => "to_weekday_if_weekend(date)", :function_arguments => [:date], :name => "Independence Day (Holiday)", :regions => [:us_va]},
87
+ {:mday => 24, :name => "Pioneer Day", :regions => [:us_ut]}],
88
+ 8 => [{:wday => 1, :week => 1, :name => "B.C. Day", :regions => [:ca_bc]},
89
+ {:wday => 1, :week => 1, :name => "Saskatchewan Day", :regions => [:ca_sk]},
90
+ {:wday => 1, :week => 1, :type => :informal, :name => "Heritage Day", :regions => [:ca_ab]},
91
+ {:wday => 1, :week => 1, :type => :informal, :name => "Natal Day", :regions => [:ca_ns]},
92
+ {:wday => 1, :week => 1, :name => "Civic Holiday", :regions => [:ca_nt, :ca_nu]},
93
+ {:wday => 1, :week => 1, :type => :informal, :name => "Civic Holiday", :regions => [:ca_on, :ca_pe]},
94
+ {:wday => 1, :week => 1, :name => "New Brunswick Day", :regions => [:ca_nb]},
95
+ {:wday => 1, :week => 1, :type => :informal, :name => "Terry Fox Day", :regions => [:ca_mb]},
96
+ {:wday => 1, :week => 3, :name => "Discovery Day", :regions => [:ca_yt]},
97
+ {:wday => 1, :week => 2, :name => "Victory Day", :regions => [:us_ri]},
98
+ {:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Bennington Battle Day", :regions => [:us_vt]},
99
+ {:wday => 5, :week => 3, :name => "Statehood Day", :regions => [:us_hi]},
100
+ {:mday => 27, :name => "Lyndon Baines Johnson Day", :regions => [:us_tx]}],
101
+ 9 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:ca]},
102
+ {:mday => 30, :year_ranges => { :from => 2021 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "National Day for Truth and Reconciliation", :regions => [:ca_bc, :ca_nt, :ca_pe, :ca_yt]},
103
+ {:mday => 30, :year_ranges => { :from => 2021 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "National Day for Truth and Reconciliation", :regions => [:ca_ab, :ca_mb, :ca_nu]},
104
+ {:mday => 15, :type => :informal, :name => "Grito de Dolores", :regions => [:mx]},
105
+ {:mday => 16, :name => "Día de la Independencia", :regions => [:mx]},
106
+ {:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]},
107
+ {:function => "rosh_hashanah(year)", :function_arguments => [:year], :name => "Rosh Hashanah", :regions => [:us_tx]},
108
+ {:function => "yom_kippur(year)", :function_arguments => [:year], :name => "Yom Kippur", :regions => [:us_tx]}],
109
+ 10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nt, :ca_nu, :ca_on, :ca_qc, :ca_sk, :ca_yt]},
110
+ {:mday => 12, :type => :informal, :name => "Día de la Raza", :regions => [:mx]},
111
+ {:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us_al, :us_az, :us_co, :us_ct, :us_dc, :us_ga, :us_id, :us_il, :us_in, :us_ma, :us_md, :us_me, :us_mo, :us_mt, :us_ne, :us_nj, :us_nm, :us_ny, :us_oh, :us_pa, :us_ri, :us_ut, :us_va, :us_wv]},
112
+ {:wday => 1, :week => 2, :type => :informal, :name => "Columbus Day", :regions => [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy]},
113
+ {:mday => 18, :name => "Alaska Day", :regions => [:us_ak]},
114
+ {:wday => 5, :week => -1, :name => "Nevada Day", :regions => [:us_nv]},
115
+ {:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
116
+ 11 => [{:mday => 11, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Remembrance Day", :regions => [:ca_ab, :ca_sk, :ca_bc, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_nb, :ca_yt]},
117
+ {:mday => 1, :type => :informal, :name => "Todos los Santos", :regions => [:mx]},
118
+ {:mday => 2, :type => :informal, :name => "Los Fieles Difuntos", :regions => [:mx]},
119
+ {:wday => 1, :week => 3, :name => "Día de la Revolución", :regions => [:mx]},
120
+ {:function => "election_day(year)", :function_arguments => [:year], :name => "Election Day", :regions => [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri]},
121
+ {:mday => 11, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:us]},
122
+ {:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]},
123
+ {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Family Day", :regions => [:us_nv]},
124
+ {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "State Holiday", :regions => [:us_ga]},
125
+ {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Presidents' Day", :regions => [:us_nm]},
126
+ {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Lincoln's Birthday", :regions => [:us_in]},
127
+ {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "American Indian Heritage Day", :regions => [:us_md]},
128
+ {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Day after Thanksgiving (Black Friday)", :regions => [:us_ca, :us_de, :us_fl, :us_ia, :us_il, :us_ks, :us_ky, :us_me, :us_mi, :us_mn, :us_ms, :us_ne, :us_nh, :us_nc, :us_pa, :us_sc, :us_ok, :us_tn, :us_tx, :us_va, :us_wa, :us_wv]}],
129
+ 12 => [{:mday => 25, :year_ranges => { :until => 2020 },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ca_on]},
130
+ {:mday => 25, :year_ranges => { :from => 2020 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ca_on]},
131
+ {:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nb, :ca_nl, :ca_nt, :ca_ns, :ca_nu, :ca_pe, :ca_qc, :ca_sk, :ca_yt]},
132
+ {:mday => 26, :year_ranges => { :until => 2020 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:ca_on]},
133
+ {:mday => 26, :year_ranges => { :from => 2020 },:observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:ca_on]},
134
+ {:mday => 26, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "Boxing Day", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nb, :ca_nl, :ca_nt, :ca_ns, :ca_nu, :ca_pe, :ca_qc, :ca_sk, :ca_yt]},
135
+ {:mday => 12, :type => :informal, :name => "Día de la Virgen de Guadalupe", :regions => [:mx]},
136
+ {:mday => 24, :type => :informal, :name => "Nochebuena", :regions => [:mx]},
137
+ {:mday => 25, :name => "Navidad", :regions => [:mx]},
138
+ {:mday => 28, :type => :informal, :name => "Los Santos Inocentes", :regions => [:mx]},
139
+ {:mday => 24, :name => "Christmas Eve", :regions => [:us_ar, :us_mi, :us_nc, :us_sc, :us_tx, :us_wi]},
140
+ {:mday => 24, :function => "christmas_eve_holiday(date)", :function_arguments => [:date], :name => "Christmas Eve (Holiday)", :regions => [:us_mi, :us_sc, :us_va]},
141
+ {:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:us]},
142
+ {:mday => 26, :name => "Day after Christmas", :regions => [:us_ar, :us_nc, :us_ok, :us_sc, :us_tn, :us_tx]},
143
+ {:mday => 31, :name => "New Year's Eve", :regions => [:us_mi, :us_wi]}],
144
+ 4 => [{:mday => 30, :type => :informal, :name => "Día del Niño", :regions => [:mx]},
145
+ {:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Emancipation Day", :regions => [:us_dc]},
146
+ {:wday => 1, :week => 3, :name => "Patriots' Day", :regions => [:us_me, :us_ma]},
147
+ {:mday => 21, :name => "San Jacinto Day", :regions => [:us_tx]},
148
+ {:wday => 1, :week => -1, :name => "Confederate Memorial Day", :regions => [:us_al, :us_ms]},
149
+ {:mday => 26, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Confederate Memorial Day", :regions => [:us_fl]},
150
+ {:function => "georgia_state_holiday(year, month)", :function_arguments => [:year, :month], :name => "State Holiday", :regions => [:us_ga]},
151
+ {:mday => 28, :name => "Arbor Day", :regions => [:us_ne]},
152
+ {:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
153
+ {:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}]
154
+ }
155
+ end
156
+
157
+ def self.custom_methods
158
+ {
159
+ "ca_victoria_day(year)" => Proc.new { |year|
160
+ date = Date.civil(year,5,24)
161
+ if date.wday > 1
162
+ date -= (date.wday - 1)
163
+ elsif date.wday == 0
164
+ date -= 6
165
+ end
166
+ date
167
+ },
168
+
169
+ "christmas_eve_holiday(date)" => Proc.new { |date|
170
+ beginning_of_month = Date.civil(date.year, date.month, 1)
171
+ (date.saturday? || date.sunday?) ? date.downto(beginning_of_month).find {|d| d if d.wday == 5} : date
172
+ },
173
+
174
+ "rosh_hashanah(year)" => Proc.new { |year|
175
+ rosh_hashanah_dates = {
176
+ '2014' => Date.civil(2014, 9, 25),
177
+ '2015' => Date.civil(2015, 9, 14),
178
+ '2016' => Date.civil(2016, 10, 3),
179
+ '2017' => Date.civil(2017, 9, 21),
180
+ '2018' => Date.civil(2018, 9, 10),
181
+ '2019' => Date.civil(2019, 9, 30),
182
+ '2020' => Date.civil(2020, 9, 19)
183
+ }
184
+ rosh_hashanah_dates[year.to_s]
185
+ },
186
+
187
+ "yom_kippur(year)" => Proc.new { |year|
188
+ yom_kippur_dates = {
189
+ '2014' => Date.civil(2014, 10, 4),
190
+ '2015' => Date.civil(2015, 9, 23),
191
+ '2016' => Date.civil(2016, 10, 12),
192
+ '2017' => Date.civil(2017, 9, 30),
193
+ '2018' => Date.civil(2018, 9, 19),
194
+ '2019' => Date.civil(2019, 10, 9),
195
+ '2020' => Date.civil(2020, 9, 28)
196
+ }
197
+ yom_kippur_dates[year.to_s]
198
+ },
199
+
200
+ "georgia_state_holiday(year, month)" => Proc.new { |year, month|
201
+ beginning_of_month = Date.civil(year, month, 1)
202
+ state_holiday = Date.civil(year, month, 26)
203
+ state_holiday.downto(beginning_of_month).find {|date| date if date.wday == 1 }
204
+ },
205
+
206
+ "lee_jackson_day(year, month)" => Proc.new { |year, month|
207
+ day_of_holiday = Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, month, 3, 1)
208
+ beginning_of_month = Date.civil(year, month, 1)
209
+ king_day = Date.civil(year, month, day_of_holiday)
210
+ king_day.downto(beginning_of_month).find {|date| date if date.wday == 5 }
211
+ },
212
+
213
+ "election_day(year)" => Proc.new { |year|
214
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 11, 1, 1) + 1
215
+ },
216
+
217
+ "us_inauguration_day(year)" => Proc.new { |year|
218
+ year % 4 == 1 ? 20 : nil
219
+ },
220
+
221
+ "day_after_thanksgiving(year)" => Proc.new { |year|
222
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 11, 4, 4) + 1
223
+ },
224
+
225
+
226
+ }
227
+ end
228
+ end
229
+ end
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/nyse.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NYSE # :nodoc:
9
+ def self.defined_regions
10
+ [:nyse]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:nyse]}],
16
+ 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:nyse]},
17
+ {:wday => 1, :week => 3, :name => "Martin Luther King, Jr. Day", :regions => [:nyse]}],
18
+ 2 => [{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:nyse]}],
19
+ 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:nyse]}],
20
+ 6 => [{:mday => 19, :year_ranges => { :from => 2022 },:observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Juneteenth National Independence Day", :regions => [:nyse]}],
21
+ 7 => [{:mday => 4, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:nyse]}],
22
+ 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:nyse]}],
23
+ 11 => [{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:nyse]}],
24
+ 12 => [{:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:nyse]}]
25
+ }
26
+ end
27
+
28
+ def self.custom_methods
29
+ {
30
+
31
+ }
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,105 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/nz.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NZ # :nodoc:
9
+ def self.defined_regions
10
+ [:nz, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ne, :nz_ot, :nz_ta, :nz_sc, :nz_hb, :nz_mb, :nz_ca, :nz_ch, :nz_wl]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:nz]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:nz]},
17
+ {:function => "matariki(year)", :function_arguments => [:year], :name => "Matariki", :regions => [:nz]}],
18
+ 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:nz]},
19
+ {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Day after New Year's Day", :regions => [:nz]},
20
+ {:mday => 17, :name => "Southland Anniversary Day", :regions => [:nz_sl]},
21
+ {:mday => 22, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Wellington Anniversary Day", :regions => [:nz_we]},
22
+ {:mday => 29, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Auckland Anniversary Day", :regions => [:nz_ak]},
23
+ {:mday => 29, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Northland Anniversary Day", :regions => [:nz_nl]}],
24
+ 2 => [{:mday => 1, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Nelson Anniversary Day", :regions => [:nz_ne]},
25
+ {:mday => 6, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Waitangi Day", :regions => [:nz]}],
26
+ 3 => [{:mday => 23, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Otago Anniversary Day", :regions => [:nz_ot]},
27
+ {:wday => 1, :week => 2, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Taranaki Anniversary Day", :regions => [:nz_ta]}],
28
+ 4 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:nz]}],
29
+ 6 => [{:wday => 1, :week => 1, :year_ranges => { :until => 2022 },:name => "Queen's Birthday", :regions => [:nz]},
30
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2023 },:name => "King's Birthday", :regions => [:nz]}],
31
+ 9 => [{:wday => 1, :week => 4, :name => "Dominion Day", :regions => [:nz_sc]}],
32
+ 10 => [{:wday => 1, :week => 1, :observed => "previous_friday(date)", :observed_arguments => [:date], :name => "Hawke's bay Anniversary Day", :regions => [:nz_hb]},
33
+ {:wday => 1, :week => 4, :name => "Labour Day", :regions => [:nz]},
34
+ {:wday => 1, :week => 4, :observed => "next_week(date)", :observed_arguments => [:date], :name => "Marlborough Anniversary Day", :regions => [:nz_mb]}],
35
+ 11 => [{:wday => 5, :week => 2, :name => "Canterbury Anniversary Day", :regions => [:nz_ca]},
36
+ {:mday => 30, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Chatham Island Anniversary Day", :regions => [:nz_ch]}],
37
+ 12 => [{:mday => 1, :observed => "closest_monday(date)", :observed_arguments => [:date], :name => "Westland Anniversary Day", :regions => [:nz_wl]},
38
+ {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:nz]},
39
+ {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:nz]}]
40
+ }
41
+ end
42
+
43
+ def self.custom_methods
44
+ {
45
+ "closest_monday(date)" => Proc.new { |date|
46
+ if [1, 2, 3, 4].include?(date.wday)
47
+ date -= (date.wday - 1)
48
+ elsif 0 == date.wday
49
+ date += 1
50
+ else
51
+ date += 8 - date.wday
52
+ end
53
+ date
54
+ },
55
+
56
+ "previous_friday(date)" => Proc.new { |date|
57
+ date - 3
58
+ },
59
+
60
+ "next_week(date)" => Proc.new { |date|
61
+ date + 7
62
+ },
63
+
64
+ "matariki(year)" => Proc.new { |year|
65
+ @matariki_dates ||= {
66
+ '2022' => Date.civil(2022, 6, 24),
67
+ '2023' => Date.civil(2023, 7, 14),
68
+ '2024' => Date.civil(2024, 6, 28),
69
+ '2025' => Date.civil(2025, 6, 20),
70
+ '2026' => Date.civil(2026, 7, 10),
71
+ '2027' => Date.civil(2027, 6, 25),
72
+ '2028' => Date.civil(2028, 7, 14),
73
+ '2029' => Date.civil(2029, 7, 6),
74
+ '2030' => Date.civil(2030, 6, 21),
75
+ '2031' => Date.civil(2031, 7, 11),
76
+ '2032' => Date.civil(2032, 7, 2),
77
+ '2033' => Date.civil(2033, 6, 24),
78
+ '2034' => Date.civil(2034, 7, 7),
79
+ '2035' => Date.civil(2035, 6, 29),
80
+ '2036' => Date.civil(2036, 7, 18),
81
+ '2037' => Date.civil(2037, 7, 10),
82
+ '2038' => Date.civil(2038, 6, 25),
83
+ '2039' => Date.civil(2039, 7, 15),
84
+ '2040' => Date.civil(2040, 7, 6),
85
+ '2041' => Date.civil(2041, 7, 19),
86
+ '2042' => Date.civil(2042, 7, 11),
87
+ '2043' => Date.civil(2043, 7, 3),
88
+ '2044' => Date.civil(2044, 6, 24),
89
+ '2045' => Date.civil(2045, 7, 7),
90
+ '2046' => Date.civil(2046, 6, 29),
91
+ '2047' => Date.civil(2047, 7, 19),
92
+ '2048' => Date.civil(2048, 7, 3),
93
+ '2049' => Date.civil(2049, 6, 25),
94
+ '2050' => Date.civil(2050, 7, 15),
95
+ '2051' => Date.civil(2051, 6, 30),
96
+ '2052' => Date.civil(2052, 6, 21),
97
+ }
98
+ @matariki_dates[year.to_s]
99
+ },
100
+
101
+
102
+ }
103
+ end
104
+ end
105
+ end