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,437 @@
1
+ # Colombian holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2018-06-01.
4
+ #
5
+ # Sources:
6
+ # - https://en.wikipedia.org/wiki/Public_holidays_in_Colombia
7
+ # - https://publicholidays.co/
8
+ # - https://www.calendariodecolombia.com/
9
+ # - https://www.officeholidays.com/countries/colombia/
10
+ # - https://www.timeanddate.com/holidays/colombia/
11
+ # - http://www.bank-holidays.com/country/Colombia_42.htm
12
+ ---
13
+ methods:
14
+ # Movable holiday: when they do not fall on a Monday, these holidays are observed the following Monday.
15
+ to_following_monday_if_not_monday:
16
+ arguments: date
17
+ ruby: |
18
+ if date.wday > 1
19
+ date += ( 8 - date.wday )
20
+ elsif date.wday == 0
21
+ date += 1
22
+ end
23
+ date
24
+ epiphany:
25
+ arguments: year
26
+ ruby: |
27
+ date = Date.civil( year, 1, 6 )
28
+ if date.wday > 1
29
+ date += ( 8 - date.wday )
30
+ elsif date.wday == 0
31
+ date += 1
32
+ end
33
+ date
34
+ saint_josephs_day:
35
+ arguments: year
36
+ ruby: |
37
+ date = Date.civil( year, 3, 19 )
38
+ if date.wday > 1
39
+ date += ( 8 - date.wday )
40
+ elsif date.wday == 0
41
+ date += 1
42
+ end
43
+ date
44
+ saint_peter_and_saint_paul:
45
+ arguments: year
46
+ ruby: |
47
+ date = Date.civil( year, 6, 29 )
48
+ if date.wday > 1
49
+ date += ( 8 - date.wday )
50
+ elsif date.wday == 0
51
+ date += 1
52
+ end
53
+ date
54
+ assumption_of_mary:
55
+ arguments: year
56
+ ruby: |
57
+ date = Date.civil( year, 8, 15 )
58
+ if date.wday > 1
59
+ date += ( 8 - date.wday )
60
+ elsif date.wday == 0
61
+ date += 1
62
+ end
63
+ date
64
+ columbus_day:
65
+ arguments: year
66
+ ruby: |
67
+ date = Date.civil( year, 10, 12 )
68
+ if date.wday > 1
69
+ date += ( 8 - date.wday )
70
+ elsif date.wday == 0
71
+ date += 1
72
+ end
73
+ date
74
+ all_saints_day:
75
+ arguments: year
76
+ ruby: |
77
+ date = Date.civil( year, 11, 1 )
78
+ if date.wday > 1
79
+ date += ( 8 - date.wday )
80
+ elsif date.wday == 0
81
+ date += 1
82
+ end
83
+ date
84
+ independence_of_cartagena:
85
+ arguments: year
86
+ ruby: |
87
+ date = Date.civil( year, 11, 11 )
88
+ if date.wday > 1
89
+ date += ( 8 - date.wday )
90
+ elsif date.wday == 0
91
+ date += 1
92
+ end
93
+ date
94
+ months:
95
+ 0:
96
+ - name: Jueves Santo
97
+ regions: [co]
98
+ function: easter(year)
99
+ function_modifier: -3
100
+ - name: Viernes Santo
101
+ regions: [co]
102
+ function: easter(year)
103
+ function_modifier: -2
104
+ - name: Día de la Ascensión
105
+ regions: [co]
106
+ function: easter(year)
107
+ function_modifier: 43
108
+ - name: Corpus Christi
109
+ regions: [co]
110
+ function: easter(year)
111
+ function_modifier: 64
112
+ - name: Sagrado Corazón
113
+ regions: [co]
114
+ function: easter(year)
115
+ function_modifier: 71
116
+ 1:
117
+ - name: Año Nuevo
118
+ regions: [co]
119
+ mday: 1
120
+ - name: Día de los Reyes Magos
121
+ regions: [co]
122
+ function: epiphany(year)
123
+ 3:
124
+ - name: Día de San José
125
+ regions: [co]
126
+ function: saint_josephs_day(year)
127
+ 5:
128
+ - name: Día del Trabajo
129
+ regions: [co]
130
+ mday: 1
131
+ 6:
132
+ - name: San Pedro y San Pablo
133
+ regions: [co]
134
+ function: saint_peter_and_saint_paul(year)
135
+ 7:
136
+ - name: Día de la Independencia
137
+ regions: [co]
138
+ mday: 20
139
+ 8:
140
+ - name: Batalla de Boyacá
141
+ regions: [co]
142
+ mday: 7
143
+ - name: La Asunción de la Virgen
144
+ regions: [co]
145
+ function: assumption_of_mary(year)
146
+ 10:
147
+ - name: Día de la Raza
148
+ regions: [co]
149
+ function: columbus_day(year)
150
+ 11:
151
+ - name: Día de Todos los Santos
152
+ regions: [co]
153
+ function: all_saints_day(year)
154
+ - name: Independencia de Cartagena
155
+ regions: [co]
156
+ function: independence_of_cartagena(year)
157
+ 12:
158
+ - name: Día de la Inmaculada Concepción
159
+ regions: [co]
160
+ mday: 8
161
+ - name: Navidad
162
+ regions: [co]
163
+ mday: 25
164
+ tests:
165
+ # Año Nuevo
166
+ - given:
167
+ date: '2014-01-01'
168
+ regions: ['co']
169
+ expect:
170
+ name: 'Año Nuevo'
171
+ - given:
172
+ date: '2017-01-01'
173
+ regions: ['co']
174
+ expect:
175
+ name: 'Año Nuevo'
176
+ # Día de los Reyes Magos
177
+ - given:
178
+ date: '2014-01-06'
179
+ regions: ['co']
180
+ expect:
181
+ name: 'Día de los Reyes Magos'
182
+ - given:
183
+ date: '2015-01-12'
184
+ regions: ['co']
185
+ expect:
186
+ name: 'Día de los Reyes Magos'
187
+ - given:
188
+ date: '2017-01-09'
189
+ regions: ['co']
190
+ expect:
191
+ name: 'Día de los Reyes Magos'
192
+ # Día de San José
193
+ - given:
194
+ date: '2014-03-24'
195
+ regions: ['co']
196
+ expect:
197
+ name: 'Día de San José'
198
+ - given:
199
+ date: '2017-03-20'
200
+ regions: ['co']
201
+ expect:
202
+ name: 'Día de San José'
203
+ - given:
204
+ date: '2018-03-19'
205
+ regions: ['co']
206
+ expect:
207
+ name: 'Día de San José'
208
+ # Jueves Santo
209
+ - given:
210
+ date: '2015-04-02'
211
+ regions: ['co']
212
+ expect:
213
+ name: 'Jueves Santo'
214
+ - given:
215
+ date: '2017-04-13'
216
+ regions: ['co']
217
+ expect:
218
+ name: 'Jueves Santo'
219
+ - given:
220
+ date: '2018-03-29'
221
+ regions: ['co']
222
+ expect:
223
+ name: 'Jueves Santo'
224
+ # Viernes Santo
225
+ - given:
226
+ date: '2014-04-18'
227
+ regions: ['co']
228
+ expect:
229
+ name: 'Viernes Santo'
230
+ - given:
231
+ date: '2016-03-25'
232
+ regions: ['co']
233
+ expect:
234
+ name: 'Viernes Santo'
235
+ - given:
236
+ date: '2018-03-30'
237
+ regions: ['co']
238
+ expect:
239
+ name: 'Viernes Santo'
240
+ # Día del Trabajo
241
+ - given:
242
+ date: '2013-05-01'
243
+ regions: ['co']
244
+ expect:
245
+ name: 'Día del Trabajo'
246
+ - given:
247
+ date: '2016-05-01'
248
+ regions: ['co']
249
+ expect:
250
+ name: 'Día del Trabajo'
251
+ # Día de la Ascensión
252
+ - given:
253
+ date: '2014-06-02'
254
+ regions: ['co']
255
+ expect:
256
+ name: 'Día de la Ascensión'
257
+ - given:
258
+ date: '2016-05-09'
259
+ regions: ['co']
260
+ expect:
261
+ name: 'Día de la Ascensión'
262
+ - given:
263
+ date: '2017-05-29'
264
+ regions: ['co']
265
+ expect:
266
+ name: 'Día de la Ascensión'
267
+ # Corpus Christi
268
+ - given:
269
+ date: '2014-06-23'
270
+ regions: ['co']
271
+ expect:
272
+ name: 'Corpus Christi'
273
+ - given:
274
+ date: '2016-05-30'
275
+ regions: ['co']
276
+ expect:
277
+ name: 'Corpus Christi'
278
+ - given:
279
+ date: '2017-06-19'
280
+ regions: ['co']
281
+ expect:
282
+ name: 'Corpus Christi'
283
+ # Sagrado Corazón
284
+ - given:
285
+ date: '2014-06-30'
286
+ regions: ['co']
287
+ expect:
288
+ name: 'Sagrado Corazón'
289
+ - given:
290
+ date: '2016-06-06'
291
+ regions: ['co']
292
+ expect:
293
+ name: 'Sagrado Corazón'
294
+ - given:
295
+ date: '2017-06-26'
296
+ regions: ['co']
297
+ expect:
298
+ name: 'Sagrado Corazón'
299
+ # San Pedro y San Pablo
300
+ - given:
301
+ date: '2016-07-04'
302
+ regions: ['co']
303
+ expect:
304
+ name: 'San Pedro y San Pablo'
305
+ - given:
306
+ date: '2017-07-03'
307
+ regions: ['co']
308
+ expect:
309
+ name: 'San Pedro y San Pablo'
310
+ # Día de la Independencia
311
+ - given:
312
+ date: '2014-07-20'
313
+ regions: ['co']
314
+ expect:
315
+ name: 'Día de la Independencia'
316
+ - given:
317
+ date: '2016-07-20'
318
+ regions: ['co']
319
+ expect:
320
+ name: 'Día de la Independencia'
321
+ - given:
322
+ date: '2018-07-20'
323
+ regions: ['co']
324
+ expect:
325
+ name: 'Día de la Independencia'
326
+ # Batalla de Boyacá
327
+ - given:
328
+ date: '2014-08-07'
329
+ regions: ['co']
330
+ expect:
331
+ name: 'Batalla de Boyacá'
332
+ - given:
333
+ date: '2016-08-07'
334
+ regions: ['co']
335
+ expect:
336
+ name: 'Batalla de Boyacá'
337
+ - given:
338
+ date: '2018-08-07'
339
+ regions: ['co']
340
+ expect:
341
+ name: 'Batalla de Boyacá'
342
+ # La Asunción de la Virgen
343
+ - given:
344
+ date: '2014-08-18'
345
+ regions: ['co']
346
+ expect:
347
+ name: 'La Asunción de la Virgen'
348
+ - given:
349
+ date: '2016-08-15'
350
+ regions: ['co']
351
+ expect:
352
+ name: 'La Asunción de la Virgen'
353
+ - given:
354
+ date: '2017-08-21'
355
+ regions: ['co']
356
+ expect:
357
+ name: 'La Asunción de la Virgen'
358
+ # Día de la Raza
359
+ - given:
360
+ date: '2014-10-13'
361
+ regions: ['co']
362
+ expect:
363
+ name: 'Día de la Raza'
364
+ - given:
365
+ date: '2016-10-17'
366
+ regions: ['co']
367
+ expect:
368
+ name: 'Día de la Raza'
369
+ - given:
370
+ date: '2017-10-16'
371
+ regions: ['co']
372
+ expect:
373
+ name: 'Día de la Raza'
374
+ # Día de Todos los Santos
375
+ - given:
376
+ date: '2014-11-03'
377
+ regions: ['co']
378
+ expect:
379
+ name: 'Día de Todos los Santos'
380
+ - given:
381
+ date: '2016-11-07'
382
+ regions: ['co']
383
+ expect:
384
+ name: 'Día de Todos los Santos'
385
+ - given:
386
+ date: '2017-11-06'
387
+ regions: ['co']
388
+ expect:
389
+ name: 'Día de Todos los Santos'
390
+ # Independencia de Cartagena
391
+ - given:
392
+ date: '2014-11-17'
393
+ regions: ['co']
394
+ expect:
395
+ name: 'Independencia de Cartagena'
396
+ - given:
397
+ date: '2016-11-14'
398
+ regions: ['co']
399
+ expect:
400
+ name: 'Independencia de Cartagena'
401
+ - given:
402
+ date: '2017-11-13'
403
+ regions: ['co']
404
+ expect:
405
+ name: 'Independencia de Cartagena'
406
+ # Día de la Inmaculada Concepción
407
+ - given:
408
+ date: '2013-12-08'
409
+ regions: ['co']
410
+ expect:
411
+ name: 'Día de la Inmaculada Concepción'
412
+ - given:
413
+ date: '2014-12-08'
414
+ regions: ['co']
415
+ expect:
416
+ name: 'Día de la Inmaculada Concepción'
417
+ - given:
418
+ date: '2016-12-08'
419
+ regions: ['co']
420
+ expect:
421
+ name: 'Día de la Inmaculada Concepción'
422
+ # Navidad
423
+ - given:
424
+ date: '2014-12-25'
425
+ regions: ['co']
426
+ expect:
427
+ name: 'Navidad'
428
+ - given:
429
+ date: '2016-12-25'
430
+ regions: ['co']
431
+ expect:
432
+ name: 'Navidad'
433
+ - given:
434
+ date: '2017-12-25'
435
+ regions: ['co']
436
+ expect:
437
+ name: 'Navidad'
@@ -0,0 +1,100 @@
1
+ # Costa Rican holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ #
4
+ # Updated: 2014-11-22.
5
+ #
6
+ # Sources:
7
+ # - http://en.wikipedia.org/wiki/Public_holidays_in_Costa_Rica
8
+ #
9
+ months:
10
+ 0:
11
+ - name: Jueves Santo
12
+ regions: [cr]
13
+ function: easter(year)
14
+ function_modifier: -3
15
+ - name: Viernes Santo
16
+ regions: [cr]
17
+ function: easter(year)
18
+ function_modifier: -2
19
+ 1:
20
+ - name: Año Nuevo
21
+ regions: [cr]
22
+ mday: 1
23
+ 4:
24
+ - name: Día de Juan Santamaría
25
+ regions: [cr]
26
+ mday: 11
27
+ 5:
28
+ - name: Día del Trabajador
29
+ regions: [cr]
30
+ mday: 1
31
+ 7:
32
+ - name: Día de la Anexión de Guanacaste
33
+ regions: [cr]
34
+ mday: 25
35
+ 8:
36
+ - name: Día de la Virgen de los Angeles
37
+ regions: [cr]
38
+ mday: 2
39
+ - name: Día de la Madre
40
+ regions: [cr]
41
+ mday: 15
42
+ 9:
43
+ - name: Día de la Independencia
44
+ regions: [cr]
45
+ mday: 15
46
+ 10:
47
+ - name: Día de las Culturas
48
+ regions: [cr]
49
+ mday: 12
50
+ 12:
51
+ - name: Navidad
52
+ regions: [cr]
53
+ mday: 25
54
+
55
+ tests:
56
+ - given:
57
+ date: '2015-01-01'
58
+ regions: ["cr"]
59
+ expect:
60
+ name: "Año Nuevo"
61
+ - given:
62
+ date: '2015-04-11'
63
+ regions: ["cr"]
64
+ expect:
65
+ name: "Día de Juan Santamaría"
66
+ - given:
67
+ date: '2015-05-01'
68
+ regions: ["cr"]
69
+ expect:
70
+ name: "Día del Trabajador"
71
+ - given:
72
+ date: '2015-07-25'
73
+ regions: ["cr"]
74
+ expect:
75
+ name: "Día de la Anexión de Guanacaste"
76
+ - given:
77
+ date: '2015-08-02'
78
+ regions: ["cr"]
79
+ expect:
80
+ name: "Día de la Virgen de los Angeles"
81
+ - given:
82
+ date: '2015-08-15'
83
+ regions: ["cr"]
84
+ expect:
85
+ name: "Día de la Madre"
86
+ - given:
87
+ date: '2015-09-15'
88
+ regions: ["cr"]
89
+ expect:
90
+ name: "Día de la Independencia"
91
+ - given:
92
+ date: '2015-10-12'
93
+ regions: ["cr"]
94
+ expect:
95
+ name: "Día de las Culturas"
96
+ - given:
97
+ date: '2016-12-25'
98
+ regions: ["cr"]
99
+ expect:
100
+ name: "Navidad"
@@ -0,0 +1,137 @@
1
+ # Czech holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2016-04-20.
4
+ # Sources:
5
+ # - http://cs.wikipedia.org/wiki/%C4%8Cesk%C3%BD_st%C3%A1tn%C3%AD_sv%C3%A1tek
6
+ # - http://www.mpsv.cz/cs/74
7
+ ---
8
+ months:
9
+ 0:
10
+ - name: Velký pátek
11
+ regions: [cz]
12
+ function: easter(year)
13
+ function_modifier: -2
14
+ - name: Velikonoční pondělí
15
+ regions: [cz]
16
+ function: easter(year)
17
+ function_modifier: 1
18
+ 1:
19
+ - name: Den obnovy samostatného českého státu
20
+ regions: [cz]
21
+ mday: 1
22
+ 5:
23
+ - name: Svátek práce
24
+ regions: [cz]
25
+ mday: 1
26
+ - name: Den vítězství
27
+ regions: [cz]
28
+ mday: 8
29
+ 7:
30
+ - name: Den slovanských věrozvěstů Cyrila a Metoděje
31
+ regions: [cz]
32
+ mday: 5
33
+ - name: Den upálení mistra Jana Husa
34
+ regions: [cz]
35
+ mday: 6
36
+ 9:
37
+ - name: Den české státnosti
38
+ regions: [cz]
39
+ mday: 28
40
+ 10:
41
+ - name: Den vzniku samostatného československého státu
42
+ regions: [cz]
43
+ mday: 28
44
+ 11:
45
+ - name: Den boje za svobodu a demokracii
46
+ regions: [cz]
47
+ mday: 17
48
+ 12:
49
+ - name: Štědrý den
50
+ regions: [cz]
51
+ mday: 24
52
+ - name: 1. svátek vánoční
53
+ regions: [cz]
54
+ mday: 25
55
+ - name: 2. svátek vánoční
56
+ regions: [cz]
57
+ mday: 26
58
+
59
+ tests:
60
+ - given:
61
+ date: '2010-01-01'
62
+ regions: ["cz"]
63
+ options: ["informal"]
64
+ expect:
65
+ name: "Den obnovy samostatného českého státu"
66
+ - given:
67
+ date: '2016-03-25'
68
+ regions: ["cz"]
69
+ options: ["informal"]
70
+ expect:
71
+ name: "Velký pátek"
72
+ - given:
73
+ date: '2010-04-05'
74
+ regions: ["cz"]
75
+ options: ["informal"]
76
+ expect:
77
+ name: "Velikonoční pondělí"
78
+ - given:
79
+ date: '2010-05-01'
80
+ regions: ["cz"]
81
+ options: ["informal"]
82
+ expect:
83
+ name: "Svátek práce"
84
+ - given:
85
+ date: '2010-05-08'
86
+ regions: ["cz"]
87
+ options: ["informal"]
88
+ expect:
89
+ name: "Den vítězství"
90
+ - given:
91
+ date: '2010-07-05'
92
+ regions: ["cz"]
93
+ options: ["informal"]
94
+ expect:
95
+ name: "Den slovanských věrozvěstů Cyrila a Metoděje"
96
+ - given:
97
+ date: '2010-07-06'
98
+ regions: ["cz"]
99
+ options: ["informal"]
100
+ expect:
101
+ name: "Den upálení mistra Jana Husa"
102
+ - given:
103
+ date: '2010-09-28'
104
+ regions: ["cz"]
105
+ options: ["informal"]
106
+ expect:
107
+ name: "Den české státnosti"
108
+ - given:
109
+ date: '2010-10-28'
110
+ regions: ["cz"]
111
+ options: ["informal"]
112
+ expect:
113
+ name: "Den vzniku samostatného československého státu"
114
+ - given:
115
+ date: '2010-11-17'
116
+ regions: ["cz"]
117
+ options: ["informal"]
118
+ expect:
119
+ name: "Den boje za svobodu a demokracii"
120
+ - given:
121
+ date: '2010-12-24'
122
+ regions: ["cz"]
123
+ options: ["informal"]
124
+ expect:
125
+ name: "Štědrý den"
126
+ - given:
127
+ date: '2010-12-25'
128
+ regions: ["cz"]
129
+ options: ["informal"]
130
+ expect:
131
+ name: "1. svátek vánoční"
132
+ - given:
133
+ date: '2010-12-26'
134
+ regions: ["cz"]
135
+ options: ["informal"]
136
+ expect:
137
+ name: "2. svátek vánoční"