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,111 @@
1
+ # Thai holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2019-01-14.
4
+ # Sources:
5
+ # - https://en.wikipedia.org/wiki/Public_holidays_in_Thailand
6
+ ---
7
+ months:
8
+ 1:
9
+ - name: วันขึ้นปีใหม่
10
+ regions: [th]
11
+ mday: 1
12
+ 4:
13
+ - name: วันจักรี
14
+ regions: [th]
15
+ mday: 6
16
+ - name: วันสงกรานต์
17
+ regions: [th]
18
+ mday: 13
19
+ - name: วันสงกรานต์
20
+ regions: [th]
21
+ mday: 14
22
+ - name: วันสงกรานต์
23
+ regions: [th]
24
+ mday: 15
25
+ 7:
26
+ - name: วันเฉลิมพระชนมพรรษาสมเด็จพระเจ้าอยู่หัวมหาวชิราลงกรณ บดินทรเทพยวรางกูร
27
+ regions: [th]
28
+ mday: 28
29
+ 8:
30
+ - name: วันเฉลิมพระชนมพรรษาสมเด็จพระนางเจ้าสิริกิติ์ พระบรมราชินีนาถในรัชกาลที่ ๙
31
+ regions: [th]
32
+ mday: 12
33
+ 10:
34
+ - name: วันคล้ายวันสวรรคตพระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช บรมนาถบพิตร
35
+ regions: [th]
36
+ mday: 13
37
+ - name: วันปิยมหาราช
38
+ regions: [th]
39
+ mday: 23
40
+ 12:
41
+ - name: วันคล้ายวันเฉลิมพระชนมพรรษาพระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช บรมนาถบพิตร
42
+ regions: [th]
43
+ mday: 5
44
+ - name: วันรัฐธรรมนูญ
45
+ regions: [th]
46
+ mday: 10
47
+ - name: วันสิ้นปี
48
+ regions: [th]
49
+ mday: 31
50
+
51
+ tests:
52
+ - given:
53
+ date: '20019-01-01'
54
+ regions: ["th"]
55
+ options: ["informal"]
56
+ expect:
57
+ name: "วันขึ้นปีใหม่"
58
+ - given:
59
+ date: '2019-04-06'
60
+ regions: ["th"]
61
+ options: ["informal"]
62
+ expect:
63
+ name: "วันจักรี"
64
+ - given:
65
+ date: ['2019-04-13', '2019-04-14', '2019-04-15']
66
+ regions: ["th"]
67
+ options: ["informal"]
68
+ expect:
69
+ name: "วันสงกรานต์"
70
+ - given:
71
+ date: '2019-07-28'
72
+ regions: ["th"]
73
+ options: ["informal"]
74
+ expect:
75
+ name: "วันเฉลิมพระชนมพรรษาสมเด็จพระเจ้าอยู่หัวมหาวชิราลงกรณ บดินทรเทพยวรางกูร"
76
+ - given:
77
+ date: '2007-08-12'
78
+ regions: ["th"]
79
+ options: ["informal"]
80
+ expect:
81
+ name: "วันเฉลิมพระชนมพรรษาสมเด็จพระนางเจ้าสิริกิติ์ พระบรมราชินีนาถในรัชกาลที่ ๙"
82
+ - given:
83
+ date: '2019-10-13'
84
+ regions: ["th"]
85
+ options: ["informal"]
86
+ expect:
87
+ name: "วันคล้ายวันสวรรคตพระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช บรมนาถบพิตร"
88
+ - given:
89
+ date: '2019-10-23'
90
+ regions: ["th"]
91
+ options: ["informal"]
92
+ expect:
93
+ name: "วันปิยมหาราช"
94
+ - given:
95
+ date: '2019-12-05'
96
+ regions: ["th"]
97
+ options: ["informal"]
98
+ expect:
99
+ name: "วันคล้ายวันเฉลิมพระชนมพรรษาพระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช บรมนาถบพิตร"
100
+ - given:
101
+ date: '2019-12-10'
102
+ regions: ["th"]
103
+ options: ["informal"]
104
+ expect:
105
+ name: "วันรัฐธรรมนูญ"
106
+ - given:
107
+ date: '2019-12-31'
108
+ regions: ["th"]
109
+ options: ["informal"]
110
+ expect:
111
+ name: "วันสิ้นปี"
@@ -0,0 +1,83 @@
1
+ # Tunisian holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # by achr3f https://github.com/achr3f
4
+ #
5
+ # Updated 12/23/2016
6
+ # Sources:
7
+ # - https://fr.wikipedia.org/wiki/Fêtes_et_jours_fériés_en_Tunisie#F.C3.AAtes_officielles
8
+ #
9
+ ---
10
+ months:
11
+ 1:
12
+ - name: Jour de l'an
13
+ regions: [tn]
14
+ mday: 1
15
+ - name: Fête de la Révolution et de la Jeunesse
16
+ regions: [tn]
17
+ mday: 14
18
+ 3:
19
+ - name: Fête de l'Indépendance
20
+ regions: [tn]
21
+ mday: 20
22
+ 4:
23
+ - name: Journée des Martyrs
24
+ regions: [tn]
25
+ mday: 9
26
+ 5:
27
+ - name: Fête du travail
28
+ regions: [tn]
29
+ mday: 1
30
+ 7:
31
+ - name: Fête de la République
32
+ regions: [tn]
33
+ mday: 25
34
+ 8:
35
+ - name: Fête de la Femme et de la Famille
36
+ regions: [tn]
37
+ mday: 13
38
+ 10:
39
+ - name: Fête de l'Évacuation
40
+ regions: [tn]
41
+ mday: 15
42
+
43
+ tests:
44
+ - given:
45
+ date: '2016-01-01'
46
+ regions: ["tn"]
47
+ expect:
48
+ name: "Jour de l'an"
49
+ - given:
50
+ date: '2016-01-14'
51
+ regions: ["tn"]
52
+ expect:
53
+ name: "Fête de la Révolution et de la Jeunesse"
54
+ - given:
55
+ date: '2016-03-20'
56
+ regions: ["tn"]
57
+ expect:
58
+ name: "Fête de l'Indépendance"
59
+ - given:
60
+ date: '2016-04-09'
61
+ regions: ["tn"]
62
+ expect:
63
+ name: "Journée des Martyrs"
64
+ - given:
65
+ date: '2016-05-01'
66
+ regions: ["tn"]
67
+ expect:
68
+ name: "Fête du travail"
69
+ - given:
70
+ date: '2016-07-25'
71
+ regions: ["tn"]
72
+ expect:
73
+ name: "Fête de la République"
74
+ - given:
75
+ date: '2016-08-13'
76
+ regions: ["tn"]
77
+ expect:
78
+ name: "Fête de la Femme et de la Famille"
79
+ - given:
80
+ date: '2016-10-15'
81
+ regions: ["tn"]
82
+ expect:
83
+ name: "Fête de l'Évacuation"
@@ -0,0 +1,174 @@
1
+ # Turkish holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2019-02-10
4
+ #
5
+ # Note:
6
+ # This holiday definition file contains pre-defined dates
7
+ # for Ramadan Feast and Sacrifice Feast from 2014 to 2019.
8
+ #
9
+ # Sources:
10
+ # - https://en.wikipedia.org/wiki/Public_holidays_in_Turkey
11
+ # - https://www.timeanddate.com/holidays/turkey/
12
+ # - https://de.wikipedia.org/wiki/Feiertage_in_der_Türkei
13
+ # - https://de.wikipedia.org/wiki/Ramadan#Beginn_und_Ende_des_Ramadans
14
+ # - https://de.wikipedia.org/wiki/Islamisches_Opferfest#Opferfest-Termine
15
+ # - https://translate.yandex.com/?lang=en-tr
16
+ # - https://de.wikibooks.org/wiki/Türkisch:_Zahlen
17
+ # - https://en.wikipedia.org/wiki/Democracy_and_National_Unity_Day
18
+ ---
19
+ months:
20
+ 0:
21
+ - name: Ramazan Bayramı # Ramadan Feast
22
+ regions: [tr]
23
+ function: ramadan_feast(year)
24
+ - name: Ramazan Bayramı (ikinci tatil) # Ramadan Feast, 2nd holiday
25
+ regions: [tr]
26
+ function: ramadan_feast(year)
27
+ function_modifier: 1
28
+ - name: Ramazan Bayramı (üçüncü tatil) # Ramadan Feast, 3rd holiday
29
+ regions: [tr]
30
+ function: ramadan_feast(year)
31
+ function_modifier: 2
32
+ - name: Kurban Bayramı # Sacrifice Feast
33
+ regions: [tr]
34
+ function: sacrifice_feast(year)
35
+ - name: Kurban Bayramı (ikinci tatil) # Sacrifice Feast, 2nd holiday
36
+ regions: [tr]
37
+ function: sacrifice_feast(year)
38
+ function_modifier: 1
39
+ - name: Kurban Bayramı (üçüncü tatil) # Sacrifice Feast, 3rd holiday
40
+ regions: [tr]
41
+ function: sacrifice_feast(year)
42
+ function_modifier: 2
43
+ - name: Kurban Bayramı (dördüncü tatil) # Sacrifice Feast, 4th holiday
44
+ regions: [tr]
45
+ function: sacrifice_feast(year)
46
+ function_modifier: 3
47
+ 1:
48
+ - name: Yılbaşı # New Year's Day
49
+ regions: [tr]
50
+ mday: 1
51
+ 4:
52
+ - name: Ulusal Egemenlik ve Çocuk Bayramı # National Sovereignty and Children's Day
53
+ regions: [tr]
54
+ mday: 23
55
+ 5:
56
+ - name: Emek ve Dayanışma Günü # Labour and Solidarity Day
57
+ regions: [tr]
58
+ mday: 1
59
+ - name: Atatürk'ü Anma Gençlik ve Spor Bayramı # Commemoration of Atatürk, Youth and Sports Day
60
+ regions: [tr]
61
+ mday: 19
62
+ 7:
63
+ - name: Demokrasi ve Milli Birlik Günü # Democracy and National Unity Day
64
+ regions: [tr]
65
+ mday: 15
66
+ year_ranges:
67
+ from: 2016
68
+ 8:
69
+ - name: Zafer Bayramı # Victory Day
70
+ regions: [tr]
71
+ mday: 30
72
+ 10:
73
+ - name: Cumhuriyet Bayramı # Republic Day
74
+ regions: [tr]
75
+ mday: 29
76
+
77
+ methods:
78
+ ramadan_feast:
79
+ arguments: year
80
+ ruby: |
81
+ begin_of_ramadan_feast = {
82
+ '2014' => Date.civil(2014, 7, 28),
83
+ '2015' => Date.civil(2015, 7, 17),
84
+ '2016' => Date.civil(2016, 7, 5),
85
+ '2017' => Date.civil(2017, 6, 25),
86
+ '2018' => Date.civil(2018, 6, 15),
87
+ '2019' => Date.civil(2019, 6, 4),
88
+ '2020' => Date.civil(2020, 5, 24)
89
+ }
90
+ begin_of_ramadan_feast[year.to_s]
91
+ sacrifice_feast:
92
+ arguments: year
93
+ ruby: |
94
+ begin_of_sacrifice_feast = {
95
+ '2014' => Date.civil(2014, 10, 4),
96
+ '2015' => Date.civil(2015, 9, 24),
97
+ '2016' => Date.civil(2016, 9, 12),
98
+ '2017' => Date.civil(2017, 9, 1),
99
+ '2018' => Date.civil(2018, 8, 21),
100
+ '2019' => Date.civil(2019, 8, 11),
101
+ '2020' => Date.civil(2020, 7, 31)
102
+ }
103
+ begin_of_sacrifice_feast[year.to_s]
104
+ tests:
105
+ - given:
106
+ date: '2017-1-1'
107
+ regions: ["tr"]
108
+ expect:
109
+ name: "Yılbaşı"
110
+ - given:
111
+ date: '2017-4-23'
112
+ regions: ["tr"]
113
+ expect:
114
+ name: "Ulusal Egemenlik ve Çocuk Bayramı"
115
+ - given:
116
+ date: '2017-5-1'
117
+ regions: ["tr"]
118
+ expect:
119
+ name: "Emek ve Dayanışma Günü"
120
+ - given:
121
+ date: '2017-5-19'
122
+ regions: ["tr"]
123
+ expect:
124
+ name: "Atatürk'ü Anma Gençlik ve Spor Bayramı"
125
+ - given:
126
+ date: '2017-8-30'
127
+ regions: ["tr"]
128
+ expect:
129
+ name: "Zafer Bayramı"
130
+ - given:
131
+ date: '2017-10-29'
132
+ regions: ["tr"]
133
+ expect:
134
+ name: "Cumhuriyet Bayramı"
135
+ - given:
136
+ date: ['2017-6-25', '2018-6-15', '2019-6-4', '2020-5-24']
137
+ regions: ["tr"]
138
+ expect:
139
+ name: "Ramazan Bayramı"
140
+ - given:
141
+ date: ['2017-6-26', '2018-6-16', '2019-6-5', '2020-5-25']
142
+ regions: ["tr"]
143
+ expect:
144
+ name: "Ramazan Bayramı (ikinci tatil)"
145
+ - given:
146
+ date: ['2017-6-27', '2018-6-17', '2019-6-6', '2020-5-26']
147
+ regions: ["tr"]
148
+ expect:
149
+ name: "Ramazan Bayramı (üçüncü tatil)"
150
+ - given:
151
+ date: '2017-7-15'
152
+ regions: ["tr"]
153
+ expect:
154
+ name: "Demokrasi ve Milli Birlik Günü"
155
+ - given:
156
+ date: ['2017-9-1', '2018-8-21', '2019-8-11', '2020-7-31']
157
+ regions: ["tr"]
158
+ expect:
159
+ name: "Kurban Bayramı"
160
+ - given:
161
+ date: ['2017-9-2', '2018-8-22', '2019-8-12', '2020-8-01']
162
+ regions: ["tr"]
163
+ expect:
164
+ name: "Kurban Bayramı (ikinci tatil)"
165
+ - given:
166
+ date: ['2017-9-3', '2018-8-23', '2019-8-13', '2020-8-02']
167
+ regions: ["tr"]
168
+ expect:
169
+ name: "Kurban Bayramı (üçüncü tatil)"
170
+ - given:
171
+ date: ['2017-9-4', '2018-8-24', '2019-8-14', '2020-8-03']
172
+ regions: ["tr"]
173
+ expect:
174
+ name: "Kurban Bayramı (dördüncü tatil)"
@@ -0,0 +1,161 @@
1
+ # Ukrainian holiday definitions for the Ruby Holiday gem.
2
+ #
3
+ # Updated: 2019-02-10.
4
+ # Sources:
5
+ # - https://en.wikipedia.org/wiki/Public_holidays_in_Ukraine
6
+ # - https://uk.wikipedia.org/wiki/%D0%9D%D0%B5%D1%80%D0%BE%D0%B1%D0%BE%D1%87%D1%96_%D0%B4%D0%BD%D1%96_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%96
7
+ ---
8
+ months:
9
+ 0:
10
+ - name: Великдень # Easter Sunday
11
+ regions: [ua]
12
+ function: orthodox_easter(year)
13
+ observed: to_monday_if_weekend(date)
14
+ - name: Трійця # (Julian) Pentecost
15
+ regions: [ua]
16
+ function: orthodox_easter(year)
17
+ function_modifier: 49
18
+ observed: to_monday_if_weekend(date)
19
+ 1:
20
+ - name: Новий Рік # New Year's Day
21
+ regions: [ua]
22
+ mday: 1
23
+ observed: to_monday_if_weekend(date)
24
+ - name: Різдво Христове # Orthodox Christmas Day
25
+ regions: [ua]
26
+ mday: 7
27
+ observed: to_monday_if_weekend(date)
28
+ 3:
29
+ - name: Міжнародний жіночий день # International Women's Day
30
+ regions: [ua]
31
+ mday: 8
32
+ observed: to_monday_if_weekend(date)
33
+ 5:
34
+ - name: День праці # International Workers' Day
35
+ regions: [ua]
36
+ mday: 1
37
+ observed: to_monday_if_weekend(date)
38
+ - name: День міжнародної солідарності трудящих # International Workers' Day
39
+ regions: [ua]
40
+ mday: 2
41
+ year_ranges:
42
+ until: 2017
43
+ - name: День перемоги над нацизмом у Другій світовій війні # Victory day over Nazism in World War II
44
+ regions: [ua]
45
+ mday: 9
46
+ observed: to_monday_if_weekend(date)
47
+ 6:
48
+ - name: День Конституції # Constitution Day
49
+ regions: [ua]
50
+ mday: 28
51
+ observed: to_monday_if_weekend(date)
52
+ year_ranges:
53
+ from: 1997
54
+ 7:
55
+ - name: День Незалежності України # Independence Day
56
+ regions: [ua]
57
+ mday: 16
58
+ year_ranges:
59
+ limited: [1991]
60
+ 8:
61
+ - name: День Незалежності # Independence Day
62
+ regions: [ua]
63
+ mday: 24
64
+ observed: to_monday_if_weekend(date)
65
+ year_ranges:
66
+ from: 1992
67
+ 10:
68
+ - name: День захисника України # Defender of Ukraine Day
69
+ regions: [ua]
70
+ mday: 14
71
+ observed: to_monday_if_weekend(date)
72
+ year_ranges:
73
+ from: 2015
74
+ 12:
75
+ - name: Різдво Христове # (Gregorian and Revised Julian) Christmas
76
+ regions: [ua]
77
+ mday: 25
78
+ observed: to_monday_if_weekend(date)
79
+ year_ranges:
80
+ from: 2017
81
+
82
+ tests:
83
+ - given:
84
+ date: "2018-01-01"
85
+ regions: [ua]
86
+ expect:
87
+ name: Новий Рік
88
+ - given:
89
+ date: "2018-01-07"
90
+ regions: [ua]
91
+ expect:
92
+ name: Різдво Христове
93
+ - given:
94
+ date: "2018-01-08"
95
+ regions: [ua]
96
+ options: [observed]
97
+ expect:
98
+ name: Різдво Христове
99
+ - given:
100
+ date: "2018-03-08"
101
+ regions: [ua]
102
+ expect:
103
+ name: Міжнародний жіночий день
104
+ - given:
105
+ date: "2018-04-08"
106
+ regions: [ua]
107
+ expect:
108
+ name: Великдень
109
+ - given:
110
+ date: "2018-04-09"
111
+ regions: [ua]
112
+ options: [observed]
113
+ expect:
114
+ name: Великдень
115
+ - given:
116
+ date: "2018-05-01"
117
+ regions: [ua]
118
+ expect:
119
+ name: День праці
120
+ - given:
121
+ date: "2018-05-09"
122
+ regions: [ua]
123
+ expect:
124
+ name: День перемоги над нацизмом у Другій світовій війні
125
+ - given:
126
+ date: "2018-05-27"
127
+ regions: [ua]
128
+ expect:
129
+ name: Трійця
130
+ - given:
131
+ date: "2018-05-28"
132
+ regions: [ua]
133
+ options: [observed]
134
+ expect:
135
+ name: Трійця
136
+ - given:
137
+ date: "2018-06-28"
138
+ regions: [ua]
139
+ expect:
140
+ name: День Конституції
141
+ - given:
142
+ date: "2018-08-24"
143
+ regions: [ua]
144
+ expect:
145
+ name: День Незалежності
146
+ - given:
147
+ date: "2018-10-14"
148
+ regions: [ua]
149
+ expect:
150
+ name: День захисника України
151
+ - given:
152
+ date: "2018-10-15"
153
+ regions: [ua]
154
+ options: [observed]
155
+ expect:
156
+ name: День захисника України
157
+ - given:
158
+ date: "2018-12-25"
159
+ regions: [ua]
160
+ expect:
161
+ name: Різдво Христове