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,158 @@
1
+ # Greek holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Created: 2011-05-11.
4
+ # Sources:
5
+ # http://www.assa.org.au/edm.html
6
+ # http://fotios.org/node/1104
7
+ # http://www.faqs.org/faqs/calendars/faq/
8
+ # http://5dspace-time.org/Calendar/Algorithm.html - for offsets
9
+ # http://el.wikipedia.org/wiki/Επίσημες_αργίες_στην_Ελλάδα - for holidays
10
+ # http://www.eortologio.gr/arthra/pasxa.php - for holidays
11
+ ---
12
+ months:
13
+ 0:
14
+ - name: Μεγάλη Παρασκευή
15
+ regions: [gr]
16
+ function: orthodox_easter(year)
17
+ function_modifier: -2
18
+ - name: Μεγάλο Σάββατο
19
+ regions: [gr]
20
+ function: orthodox_easter(year)
21
+ function_modifier: -1
22
+ - name: Κυριακή του Πάσχα
23
+ regions: [gr]
24
+ function: orthodox_easter(year)
25
+ - name: Δευτέρα του Πάσχα
26
+ regions: [gr]
27
+ function: orthodox_easter(year)
28
+ function_modifier: 1
29
+ - name: Καθαρά Δευτέρα
30
+ regions: [gr]
31
+ function: orthodox_easter(year)
32
+ function_modifier: -48
33
+ - name: Αγίου Πνεύματος
34
+ regions: [gr]
35
+ function: orthodox_easter(year)
36
+ function_modifier: 50
37
+ 1:
38
+ - name: Πρωτοχρονιά
39
+ regions: [gr]
40
+ mday: 1
41
+ - name: Θεοφάνεια
42
+ regions: [gr]
43
+ mday: 6
44
+ 3:
45
+ - name: Επέτειος της Επανάστασης του 1821
46
+ regions: [gr]
47
+ mday: 25
48
+ 5:
49
+ - name: Πρωτομαγιά
50
+ regions: [gr]
51
+ mday: 1
52
+ 8:
53
+ - name: Κοίμηση της Θεοτόκου
54
+ regions: [gr]
55
+ mday: 15
56
+ 10:
57
+ - name: Επέτειος του Όχι
58
+ regions: [gr]
59
+ mday: 28
60
+ 12:
61
+ - name: Χριστούγεννα
62
+ regions: [gr]
63
+ mday: 25
64
+ - name: Δεύτερη ημέρα των Χριστουγέννων
65
+ regions: [gr]
66
+ mday: 26
67
+
68
+ tests:
69
+ - given:
70
+ date: '2011-01-01'
71
+ regions: ["gr"]
72
+ options: ["informal"]
73
+ expect:
74
+ name: "Πρωτοχρονιά"
75
+ - given:
76
+ date: '2011-01-06'
77
+ regions: ["gr"]
78
+ options: ["informal"]
79
+ expect:
80
+ name: "Θεοφάνεια"
81
+ - given:
82
+ date: '2011-04-22'
83
+ regions: ["gr"]
84
+ options: ["informal"]
85
+ expect:
86
+ name: "Μεγάλη Παρασκευή"
87
+ - given:
88
+ date: '1970-04-25'
89
+ regions: ["gr"]
90
+ options: ["informal"]
91
+ expect:
92
+ name: "Μεγάλο Σάββατο"
93
+ - given:
94
+ date: '1985-04-14'
95
+ regions: ["gr"]
96
+ options: ["informal"]
97
+ expect:
98
+ name: "Κυριακή του Πάσχα"
99
+ - given:
100
+ date: '2011-04-24'
101
+ regions: ["gr"]
102
+ options: ["informal"]
103
+ expect:
104
+ name: "Κυριακή του Πάσχα"
105
+ - given:
106
+ date: '2027-05-02'
107
+ regions: ["gr"]
108
+ options: ["informal"]
109
+ expect:
110
+ name: "Κυριακή του Πάσχα"
111
+ - given:
112
+ date: '2046-04-30'
113
+ regions: ["gr"]
114
+ options: ["informal"]
115
+ expect:
116
+ name: "Δευτέρα του Πάσχα"
117
+ - given:
118
+ date: '2011-05-01'
119
+ regions: ["gr"]
120
+ options: ["informal"]
121
+ expect:
122
+ name: "Πρωτομαγιά"
123
+ - given:
124
+ date: '2011-06-13'
125
+ regions: ["gr"]
126
+ options: ["informal"]
127
+ expect:
128
+ name: "Αγίου Πνεύματος"
129
+ - given:
130
+ date: '2012-06-04'
131
+ regions: ["gr"]
132
+ options: ["informal"]
133
+ expect:
134
+ name: "Αγίου Πνεύματος"
135
+ - given:
136
+ date: '2011-03-07'
137
+ regions: ["gr"]
138
+ options: ["informal"]
139
+ expect:
140
+ name: "Καθαρά Δευτέρα"
141
+ - given:
142
+ date: '2012-02-27'
143
+ regions: ["gr"]
144
+ options: ["informal"]
145
+ expect:
146
+ name: "Καθαρά Δευτέρα"
147
+ - given:
148
+ date: '2011-12-25'
149
+ regions: ["gr"]
150
+ options: ["informal"]
151
+ expect:
152
+ name: "Χριστούγεννα"
153
+ - given:
154
+ date: '2011-12-26'
155
+ regions: ["gr"]
156
+ options: ["informal"]
157
+ expect:
158
+ name: "Δεύτερη ημέρα των Χριστουγέννων"
@@ -0,0 +1,287 @@
1
+ # Hong Kong holiday definitions for the Holidays gem!
2
+
3
+ # Days not included in the definitions (yet):
4
+ # Ching Ming Festival
5
+ # The Birthday of the Buddha
6
+ # Tuen Ng Festival
7
+ # Chinese Mid-Autumn Festival
8
+ # Chung Yeung Festival
9
+
10
+ # Source:
11
+ # http://www.gov.hk/en/about/abouthk/holiday/
12
+
13
+ months:
14
+ 0:
15
+ - name: Lunar New Year's Day
16
+ regions: [hk]
17
+ function: cn_new_lunar_day(year)
18
+ observed: to_monday_if_sunday(date)
19
+ - name: The second day of Lunar New Year
20
+ regions: [hk]
21
+ function: cn_new_lunar_day(year)
22
+ function_modifier: 1
23
+ observed: to_monday_if_sunday(date)
24
+ - name: The third day of Lunar New Year
25
+ regions: [hk]
26
+ function: cn_new_lunar_day(year)
27
+ function_modifier: 2
28
+ observed: to_weekday_if_boxing_weekend(date)
29
+ - name: Good Friday
30
+ regions: [hk]
31
+ function: easter(year)
32
+ function_modifier: -2
33
+ - name: The day following Good Friday
34
+ regions: [hk]
35
+ function: easter(year)
36
+ function_modifier: -1
37
+ - name: Easter Monday
38
+ regions: [hk]
39
+ function: easter(year)
40
+ function_modifier: 1
41
+ 1:
42
+ - name: New Year's Day
43
+ regions: [hk]
44
+ mday: 1
45
+ observed: to_monday_if_sunday(date)
46
+ 5:
47
+ - name: Labour Day
48
+ regions: [hk]
49
+ mday: 1
50
+ observed: to_monday_if_sunday(date)
51
+ 7:
52
+ - name: Hong Kong Special Administrative Region Establishment Day
53
+ regions: [hk]
54
+ mday: 1
55
+ observed: to_monday_if_sunday(date)
56
+ 10:
57
+ - name: National Day
58
+ regions: [hk]
59
+ mday: 1
60
+ observed: to_monday_if_sunday(date)
61
+ 12:
62
+ - name: Christmas Day
63
+ regions: [hk]
64
+ mday: 25
65
+ observed: to_monday_if_weekend(date)
66
+ - name: Boxing Day
67
+ regions: [hk]
68
+ mday: 26
69
+ observed: to_weekday_if_boxing_weekend(date)
70
+
71
+ methods:
72
+ cn_new_lunar_day:
73
+ arguments: year
74
+ ruby: |
75
+ month_day = case year
76
+ when 1930, 1949, 1987, 2025, 2063, 2082, 2101, 2112, 2131, 2150, 2207, 2245, 2253, 2283, 2321
77
+ [1, 29]
78
+ when 1931, 1950, 1969, 1988, 2007, 2026, 2045, 2083, 2091, 2102, 2121, 2159, 2197, 2208, 2216, 2227, 2246, 2265, 2303, 2322, 2341, 2379
79
+ [2, 17]
80
+ when 1932, 1951, 1970, 1989, 2027, 2046, 2114, 2179, 2198, 2209, 2247, 2266, 2304, 2323, 2342, 2361, 2399
81
+ [2, 6]
82
+ when 1933, 2009, 2028, 2047, 2066, 2085, 2115, 2161, 2199, 2210, 2229, 2267, 2305, 2316, 2324, 2335, 2381
83
+ [1, 26]
84
+ when 1934, 1953, 2037, 2048, 2067, 2086, 2105, 2116, 2181, 2189, 2211, 2257, 2268, 2306, 2325, 2336
85
+ [2, 14]
86
+ when 1935, 1943, 1992, 2038, 2106, 2144, 2201, 2212, 2258, 2296, 2307, 2326, 2364
87
+ [2, 4]
88
+ when 1936, 1955, 2001, 2039, 2058, 2088, 2107, 2164, 2183, 2221, 2259, 2278, 2308, 2327, 2373
89
+ [1, 24]
90
+ when 1937, 1975, 2032, 2040, 2051, 2070, 2108, 2127, 2146, 2165, 2252, 2260, 2271, 2290, 2309, 2328, 2347, 2366
91
+ [2, 11]
92
+ when 1938, 1957, 1976, 1995, 2014, 2033, 2071, 2109, 2128, 2185, 2272, 2291, 2329, 2348, 2367, 2386
93
+ [1, 31]
94
+ when 1939, 1996, 2015, 2053, 2072, 2110, 2129, 2292, 2330, 2368, 2387
95
+ [2, 19]
96
+ when 1940, 1959, 2016, 2035, 2081, 2130, 2149, 2187, 2206, 2225, 2236, 2255, 2312, 2350, 2358, 2369
97
+ [2, 8]
98
+ when 1941, 1952, 1971, 1990, 2074, 2093, 2123, 2142, 2180, 2248, 2294, 2343, 2351, 2362
99
+ [1, 27]
100
+ when 1942, 1961, 1972, 1991, 2056, 2075, 2094, 2124, 2143, 2200, 2276, 2295, 2344, 2363
101
+ [2, 15]
102
+ when 1944, 1963, 1982, 2020, 2096, 2134, 2153, 2172, 2191, 2202, 2240, 2286, 2354, 2392
103
+ [1, 25]
104
+ when 1945, 1964, 1983, 2010, 2029, 2162, 2192, 2230, 2249, 2317, 2382
105
+ [2, 13]
106
+ when 1946, 2003, 2022, 2041, 2052, 2098, 2147, 2155, 2166, 2223, 2242, 2261, 2299, 2310, 2375, 2394
107
+ [2, 1]
108
+ when 1947, 2004, 2042, 2050, 2080, 2118, 2137, 2194, 2270, 2289, 2300, 2338, 2376
109
+ [1, 22]
110
+ when 1948, 1994, 2013, 2024, 2043, 2089, 2119, 2138, 2157, 2176, 2195, 2214, 2320, 2396
111
+ [2, 10]
112
+ when 1954, 1973, 2011, 2057, 2068, 2087, 2125, 2163, 2231, 2277, 2288, 2345, 2383
113
+ [2, 3]
114
+ when 1956, 2002, 2021, 2059, 2078, 2097, 2135, 2154, 2173, 2184, 2203, 2222, 2241, 2279, 2287, 2298, 2355, 2374, 2393
115
+ [2, 12]
116
+ when 1958, 1977, 2034, 2140, 2178, 2235, 2254, 2273, 2311, 2349, 2360, 2398
117
+ [2, 18]
118
+ when 1960, 1979, 1998, 2006, 2017, 2036, 2055, 2104, 2169, 2188, 2218, 2226, 2237, 2256, 2275, 2313, 2332, 2370, 2389
119
+ [1, 28]
120
+ when 1962, 1981, 2000, 2019, 2065, 2076, 2084, 2095, 2133, 2152, 2171, 2190, 2220, 2239, 2285, 2315, 2334, 2353, 2372, 2391
121
+ [2, 5]
122
+ when 1965, 1984, 2030, 2049, 2060, 2079, 2117, 2136, 2174, 2182, 2193, 2204, 2250, 2269, 2280, 2318, 2337, 2356
123
+ [2, 2]
124
+ when 1966, 2023, 2061, 2099, 2186, 2262, 2281, 2357, 2395
125
+ [1, 21]
126
+ when 1967, 1986, 2005, 2062, 2100, 2168, 2233, 2244, 2263, 2282, 2301, 2339, 2377, 2385, 2388
127
+ [2, 9]
128
+ when 1968, 2044, 2090, 2120, 2139, 2158, 2177, 2196, 2215, 2234, 2264, 2302, 2340, 2359, 2378, 2397
129
+ [1, 30]
130
+ when 1974, 1993, 2012, 2031, 2069, 2077, 2126, 2145, 2156, 2175, 2213, 2232, 2251, 2297, 2346, 2365, 2384
131
+ [1, 23]
132
+ when 1978, 1997, 2008, 2054, 2073, 2092, 2103, 2111, 2122, 2141, 2160, 2217, 2228, 2274, 2293, 2331, 2380
133
+ [2, 7]
134
+ when 1980, 1999, 2018, 2064, 2113, 2132, 2151, 2170, 2219, 2238, 2284, 2314, 2333, 2352, 2371, 2390
135
+ [2, 16]
136
+ when 1985, 2148, 2167, 2205, 2224, 2243
137
+ [2, 20]
138
+ when 2319
139
+ [2, 21]
140
+ end
141
+ Date.civil(year, month_day[0], month_day[1])
142
+
143
+ tests:
144
+ - given:
145
+ date: '2016-01-01'
146
+ regions: ["hk"]
147
+ options: ["observed"]
148
+ expect:
149
+ name: "New Year's Day"
150
+ - given:
151
+ date: '2016-02-08'
152
+ regions: ["hk"]
153
+ options: ["observed"]
154
+ expect:
155
+ name: "Lunar New Year's Day"
156
+ - given:
157
+ date: '2016-02-09'
158
+ regions: ["hk"]
159
+ options: ["observed"]
160
+ expect:
161
+ name: "The second day of Lunar New Year"
162
+ - given:
163
+ date: '2016-02-10'
164
+ regions: ["hk"]
165
+ options: ["observed"]
166
+ expect:
167
+ name: "The third day of Lunar New Year"
168
+ - given:
169
+ date: '2016-03-25'
170
+ regions: ["hk"]
171
+ options: ["observed"]
172
+ expect:
173
+ name: "Good Friday"
174
+ - given:
175
+ date: '2016-03-26'
176
+ regions: ["hk"]
177
+ options: ["observed"]
178
+ expect:
179
+ name: "The day following Good Friday"
180
+ - given:
181
+ date: '2016-03-28'
182
+ regions: ["hk"]
183
+ options: ["observed"]
184
+ expect:
185
+ name: "Easter Monday"
186
+ - given:
187
+ date: '2016-05-02'
188
+ regions: ["hk"]
189
+ options: ["observed"]
190
+ expect:
191
+ name: "Labour Day"
192
+ - given:
193
+ date: '2016-07-01'
194
+ regions: ["hk"]
195
+ options: ["observed"]
196
+ expect:
197
+ name: "Hong Kong Special Administrative Region Establishment Day"
198
+ - given:
199
+ date: '2016-10-01'
200
+ regions: ["hk"]
201
+ options: ["observed"]
202
+ expect:
203
+ name: "National Day"
204
+ - given:
205
+ date: '2016-12-26'
206
+ regions: ["hk"]
207
+ options: ["observed"]
208
+ expect:
209
+ name: "Christmas Day"
210
+ - given:
211
+ date: '2016-12-27'
212
+ regions: ["hk"]
213
+ options: ["observed"]
214
+ expect:
215
+ name: "Boxing Day"
216
+ - given:
217
+ date: '2017-01-02'
218
+ regions: ["hk"]
219
+ options: ["observed"]
220
+ expect:
221
+ name: "New Year's Day"
222
+ - given:
223
+ date: '2017-01-28'
224
+ regions: ["hk"]
225
+ options: ["observed"]
226
+ expect:
227
+ name: "Lunar New Year's Day"
228
+ - given:
229
+ date: '2017-01-30'
230
+ regions: ["hk"]
231
+ options: ["observed"]
232
+ expect:
233
+ name: "The second day of Lunar New Year"
234
+ - given:
235
+ date: '2017-01-31'
236
+ regions: ["hk"]
237
+ options: ["observed"]
238
+ expect:
239
+ name: "The third day of Lunar New Year"
240
+ - given:
241
+ date: '2017-04-14'
242
+ regions: ["hk"]
243
+ options: ["observed"]
244
+ expect:
245
+ name: "Good Friday"
246
+ - given:
247
+ date: '2017-04-15'
248
+ regions: ["hk"]
249
+ options: ["observed"]
250
+ expect:
251
+ name: "The day following Good Friday"
252
+ - given:
253
+ date: '2017-04-17'
254
+ regions: ["hk"]
255
+ options: ["observed"]
256
+ expect:
257
+ name: "Easter Monday"
258
+ - given:
259
+ date: '2017-05-01'
260
+ regions: ["hk"]
261
+ options: ["observed"]
262
+ expect:
263
+ name: "Labour Day"
264
+ - given:
265
+ date: '2017-07-01'
266
+ regions: ["hk"]
267
+ options: ["observed"]
268
+ expect:
269
+ name: "Hong Kong Special Administrative Region Establishment Day"
270
+ - given:
271
+ date: '2017-10-02'
272
+ regions: ["hk"]
273
+ options: ["observed"]
274
+ expect:
275
+ name: "National Day"
276
+ - given:
277
+ date: '2017-12-25'
278
+ regions: ["hk"]
279
+ options: ["observed"]
280
+ expect:
281
+ name: "Christmas Day"
282
+ - given:
283
+ date: '2017-12-26'
284
+ regions: ["hk"]
285
+ options: ["observed"]
286
+ expect:
287
+ name: "Boxing Day"
@@ -0,0 +1,171 @@
1
+ # Croatian holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2019-11-21.
4
+ # Sources:
5
+ # http://en.wikipedia.org/wiki/Public_holidays_in_Croatia
6
+ ---
7
+ months:
8
+ 0:
9
+ - name: Uskrs
10
+ regions: [hr]
11
+ function: easter(year)
12
+ - name: Uskrsni ponedjeljak
13
+ regions: [hr]
14
+ function: easter(year)
15
+ function_modifier: 1
16
+ - name: Tijelovo
17
+ regions: [hr]
18
+ function: easter(year)
19
+ function_modifier: 60
20
+ 1:
21
+ - name: Nova godina
22
+ regions: [hr]
23
+ mday: 1
24
+ - name: Bogojavljenje ili Sveta tri kralja
25
+ regions: [hr]
26
+ mday: 6
27
+ 5:
28
+ - name: Praznik rada
29
+ regions: [hr]
30
+ mday: 1
31
+ - name: Dan državnosti
32
+ regions: [hr]
33
+ mday: 30
34
+ year_ranges:
35
+ from: 2020
36
+ 6:
37
+ - name: Dan antifašističke borbe
38
+ regions: [hr]
39
+ mday: 22
40
+ - name: Dan državnosti
41
+ regions: [hr]
42
+ mday: 25
43
+ year_ranges:
44
+ until: 2019
45
+ 8:
46
+ - name: Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
47
+ regions: [hr]
48
+ mday: 5
49
+ - name: Velika Gospa
50
+ regions: [hr]
51
+ mday: 15
52
+ 10:
53
+ - name: Dan neovisnosti
54
+ regions: [hr]
55
+ mday: 8
56
+ year_ranges:
57
+ until: 2019
58
+ 11:
59
+ - name: Svi sveti
60
+ regions: [hr]
61
+ mday: 1
62
+ - name: Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje
63
+ regions: [hr]
64
+ mday: 18
65
+ year_ranges:
66
+ from: 2020
67
+ 12:
68
+ - name: Božić
69
+ regions: [hr]
70
+ mday: 25
71
+ - name: Sveti Stjepan
72
+ regions: [hr]
73
+ mday: 26
74
+
75
+ tests:
76
+ - given:
77
+ date: '2012-01-01'
78
+ regions: ["hr"]
79
+ options: ["informal"]
80
+ expect:
81
+ name: "Nova godina"
82
+ - given:
83
+ date: '2012-01-06'
84
+ regions: ["hr"]
85
+ options: ["informal"]
86
+ expect:
87
+ name: "Bogojavljenje ili Sveta tri kralja"
88
+ - given:
89
+ date: '2012-05-01'
90
+ regions: ["hr"]
91
+ options: ["informal"]
92
+ expect:
93
+ name: "Praznik rada"
94
+ - given:
95
+ date: '2012-06-22'
96
+ regions: ["hr"]
97
+ options: ["informal"]
98
+ expect:
99
+ name: "Dan antifašističke borbe"
100
+ - given:
101
+ date: '2020-05-30'
102
+ regions: ["hr"]
103
+ options: ["informal"]
104
+ expect:
105
+ name: "Dan državnosti"
106
+ - given:
107
+ date: '2012-08-05'
108
+ regions: ["hr"]
109
+ options: ["informal"]
110
+ expect:
111
+ name: "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja"
112
+ - given:
113
+ date: '2012-08-15'
114
+ regions: ["hr"]
115
+ options: ["informal"]
116
+ expect:
117
+ name: "Velika Gospa"
118
+ - given:
119
+ date: '2020-11-18'
120
+ regions: ["hr"]
121
+ options: ["informal"]
122
+ expect:
123
+ name: "Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje"
124
+ - given:
125
+ date: '2012-11-01'
126
+ regions: ["hr"]
127
+ options: ["informal"]
128
+ expect:
129
+ name: "Svi sveti"
130
+ - given:
131
+ date: '2012-12-25'
132
+ regions: ["hr"]
133
+ options: ["informal"]
134
+ expect:
135
+ name: "Božić"
136
+ - given:
137
+ date: '2012-12-26'
138
+ regions: ["hr"]
139
+ options: ["informal"]
140
+ expect:
141
+ name: "Sveti Stjepan"
142
+ - given:
143
+ date: '2008-05-22'
144
+ regions: ["hr"]
145
+ expect:
146
+ name: "Tijelovo"
147
+ - given:
148
+ date: '2009-06-11'
149
+ regions: ["hr"]
150
+ expect:
151
+ name: "Tijelovo"
152
+ - given:
153
+ date: '2010-06-03'
154
+ regions: ["hr"]
155
+ expect:
156
+ name: "Tijelovo"
157
+ - given:
158
+ date: '2012-06-07'
159
+ regions: ["hr"]
160
+ expect:
161
+ name: "Tijelovo"
162
+ - given:
163
+ date: '2013-05-30'
164
+ regions: ["hr"]
165
+ expect:
166
+ name: "Tijelovo"
167
+ - given:
168
+ date: '2014-06-19'
169
+ regions: ["hr"]
170
+ expect:
171
+ name: "Tijelovo"