holidays 8.8.0 → 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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +2 -2
  3. data/CHANGELOG.md +5 -0
  4. data/holidays.gemspec +3 -3
  5. data/lib/generated_definitions/MANIFEST +3 -0
  6. data/lib/generated_definitions/REGIONS.rb +2 -2
  7. data/lib/generated_definitions/au.rb +10 -2
  8. data/lib/generated_definitions/bg.rb +7 -7
  9. data/lib/generated_definitions/cy.rb +40 -0
  10. data/lib/generated_definitions/de.rb +9 -5
  11. data/lib/generated_definitions/europe.rb +20 -14
  12. data/lib/generated_definitions/hk.rb +12 -77
  13. data/lib/generated_definitions/in.rb +64 -0
  14. data/lib/generated_definitions/it.rb +1 -0
  15. data/lib/generated_definitions/northamerica.rb +13 -5
  16. data/lib/generated_definitions/pl.rb +2 -1
  17. data/lib/generated_definitions/ro.rb +2 -0
  18. data/lib/generated_definitions/sk.rb +2 -4
  19. data/lib/generated_definitions/tsx.rb +46 -0
  20. data/lib/generated_definitions/ups.rb +2 -1
  21. data/lib/generated_definitions/us.rb +13 -5
  22. data/lib/holidays/date_calculator/lunar_date.rb +160 -5
  23. data/lib/holidays/date_calculator/weekend_modifier.rb +13 -0
  24. data/lib/holidays/definition/context/generator.rb +2 -2
  25. data/lib/holidays/definition/generator/regions.rb +2 -1
  26. data/lib/holidays/definition/generator/test.rb +1 -1
  27. data/lib/holidays/finder/context/search.rb +4 -1
  28. data/lib/holidays/load_all_definitions.rb +4 -1
  29. data/lib/holidays/version.rb +1 -1
  30. data/test/defs/test_defs_bg.rb +4 -4
  31. data/test/defs/test_defs_cy.rb +41 -0
  32. data/test/defs/test_defs_de.rb +2 -0
  33. data/test/defs/test_defs_europe.rb +26 -20
  34. data/test/defs/test_defs_hk.rb +34 -0
  35. data/test/defs/test_defs_in.rb +94 -0
  36. data/test/defs/test_defs_it.rb +2 -0
  37. data/test/defs/test_defs_northamerica.rb +16 -9
  38. data/test/defs/test_defs_pl.rb +3 -1
  39. data/test/defs/test_defs_ro.rb +4 -0
  40. data/test/defs/test_defs_sk.rb +11 -15
  41. data/test/defs/test_defs_tsx.rb +70 -0
  42. data/test/defs/test_defs_us.rb +16 -9
  43. data/test/holidays/definition/generator/test_regions.rb +4 -4
  44. data/test/integration/test_available_regions.rb +1 -1
  45. data/test/integration/test_holidays.rb +1 -1
  46. metadata +17 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 541f4a1cdcc966e2a4fcd290406ce35e0fe5318066ecfbe5dc3e3c7808fc6462
4
- data.tar.gz: a0344504afac759b54975ce9e32c0148382f1623fa2e6bd59ca908f41c43a6d1
3
+ metadata.gz: 3c970bf0b9b26a077f9902bc3729390c606b9354149ee024910689dfedcf4831
4
+ data.tar.gz: f21f303f0d7bcf522620f64fb1c35c36d84ba70a4de2aecc3c048b24a2be0e65
5
5
  SHA512:
6
- metadata.gz: 2e898308850d254f87f84c9a3eb664f81f5306654737c82268c294b8f55764cd6fc5ae152e8e6d4936cf0b509ff9beeb4189ec89ec9579e19d85d6a86d840b3a
7
- data.tar.gz: d73797c2f24d6026de777dcd2a3b8d0e4fcbe84e2d1cad68db59f53f9054d43e41922f810491e9317e48b2f42cce3056ac7af8bdb18d19969a0b26639759acf7
6
+ metadata.gz: cf01eea6da4b4847aa8760dddc281b9c7f661ca8bb2fe7e36d09f9737ba2bb4cd0a1785910dcc7df567565c6ad86f1eb695ded055991b7f890d49303b71dd3e3
7
+ data.tar.gz: be38f100fd9ff3ba4b8aa8621226574c9f699ed5c8e1340c595586e4ea538a415c3685ef94b8471fb1b15830d9b9ff7840f32f930a4ac40578460ec8c2563b30
@@ -11,13 +11,13 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- ruby-version: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', 'ruby-head']
14
+ ruby-version: ['3.2', '3.3', '3.4', 'ruby-head', '4.0']
15
15
  env:
16
16
  BUNDLER_NO_OLD_RUBYGEMS_WARNING: true
17
17
  steps:
18
18
  - uses: actions/checkout@v3
19
19
  - name: Set up Ruby
20
- uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
20
+ uses: ruby/setup-ruby@3ff19f5e2baf30647122352b96108b1fbe250c64 #v1.299.0
21
21
  with:
22
22
  ruby-version: ${{ matrix.ruby-version }}
23
23
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Ruby Holidays Gem CHANGELOG
2
2
 
3
+ ## 9.0.0
4
+
5
+ * Drop support for Ruby < 3.2. Supported versions are now 3.2, 3.3, 3.4, and ruby-head.
6
+ * Update to [v5.9.0 definitions](https://github.com/holidays/definitions/releases/tag/v5.9.0). Please see the changelog for the definition details.
7
+
3
8
  ## 8.8.0
4
9
 
5
10
  * Update to [v5.7.4 definitions](https://github.com/holidays/definitions/releases/tag/v5.7.4). Please see the changelog for the definition details.
data/holidays.gemspec CHANGED
@@ -21,9 +21,9 @@ Gem::Specification.new do |gem|
21
21
  gem.test_files = gem.files.grep(/^test/)
22
22
  gem.require_paths = ['lib']
23
23
  gem.licenses = ['MIT']
24
- gem.required_ruby_version = '>= 2.4'
25
- gem.add_development_dependency 'bundler', '~> 2'
26
- gem.add_development_dependency 'rake', '~> 12'
24
+ gem.required_ruby_version = '>= 3.2'
25
+ gem.add_development_dependency 'bundler', '>= 2'
26
+ gem.add_development_dependency 'rake', '~> 13'
27
27
  gem.add_development_dependency 'simplecov', '~> 0.16'
28
28
  gem.add_development_dependency 'test-unit', '~> 3'
29
29
  gem.add_development_dependency 'mocha', '~> 1'
@@ -15,6 +15,7 @@ The following definition files are included in this installation:
15
15
  * generated_definitions/cl
16
16
  * generated_definitions/co
17
17
  * generated_definitions/cr
18
+ * generated_definitions/cy
18
19
  * generated_definitions/cz
19
20
  * generated_definitions/de
20
21
  * generated_definitions/dk
@@ -35,6 +36,7 @@ The following definition files are included in this installation:
35
36
  * generated_definitions/hr
36
37
  * generated_definitions/hu
37
38
  * generated_definitions/ie
39
+ * generated_definitions/in
38
40
  * generated_definitions/is
39
41
  * generated_definitions/it
40
42
  * generated_definitions/jp
@@ -74,6 +76,7 @@ The following definition files are included in this installation:
74
76
  * generated_definitions/th
75
77
  * generated_definitions/tn
76
78
  * generated_definitions/tr
79
+ * generated_definitions/tsx
77
80
  * generated_definitions/ua
78
81
  * generated_definitions/unitednations
79
82
  * generated_definitions/ups
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  module Holidays
3
- REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_wa, :au_tas, :au_tas_south, :au_qld_cairns, :au_qld_brisbane, :au_tas_north, :au_vic_melbourne, :be_fr, :be_nl, :br, :bg_en, :bg_bg, :ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :us, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :ch_vs, :ch, :cl, :co, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_mv, :de_by_cath, :de_by_augsburg, :de_th, :de_bb, :de_hb, :de_hh, :de_ni, :de_sh, :ecbtarget, :ee, :es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :es, :es_ct, :es_v, :es_vc, :federalreserve, :federalreservebanks, :fedex, :fi, :fr_a, :fr_m, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy, :gb_sct, :gb_con, :im, :gb_iom, :ge, :gr, :hr, :hk, :hu, :ie, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :ke, :kr, :kz, :li, :lt, :lv, :ma, :mt_mt, :mt_en, :mx, :mx_pue, :nerc, :nl, :lu, :no, :nyse, :nz, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ne, :nz_ot, :nz_ta, :nz_sc, :nz_hb, :nz_mb, :nz_ca, :nz_ch, :nz_wl, :pe, :ph, :pl, :pt, :pt_li, :pt_po, :ro, :rs_cyrl, :rs_la, :ru, :se, :tn, :tr, :ua, :us_fl, :us_la, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_al, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_pa, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok, :unitednations, :ups, :za, :ve, :sk, :si, :jp, :vi, :sg, :my, :th, :ng]
3
+ REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_wa, :au_tas, :au_tas_south, :au_qld_cairns, :au_qld_brisbane, :au_tas_north, :au_vic_melbourne, :be_fr, :be_nl, :br, :bg_en, :bg_bg, :ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :us, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :ch_vs, :ch, :cl, :co, :cr, :cy, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_mv, :de_by_cath, :de_by_augsburg, :de_th, :de_bb, :de_hb, :de_hh, :de_ni, :de_sh, :ecbtarget, :ee, :es_pv, :es_na, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :es, :es_ct, :es_v, :es_vc, :federalreserve, :federalreservebanks, :fedex, :fi, :fr_a, :fr_m, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy, :gb_sct, :gb_con, :im, :gb_iom, :ge, :gr, :hr, :hk, :hu, :ie, :in, :in_wb, :in_od, :in_tr, :in_mh, :in_ar, :in_mz, :in_br, :in_hp, :in_gj, :in_sk, :in_ts, :in_jh, :in_py, :in_kl, :in_ka, :in_jk, :in_ap, :in_cg, :in_hr, :in_mp, :in_pb, :in_nl, :in_as, :in_ga, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :ke, :kr, :kz, :li, :lt, :lv, :ma, :mt_mt, :mt_en, :mx, :mx_pue, :nerc, :nl, :lu, :no, :nyse, :nz, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ne, :nz_ot, :nz_ta, :nz_sc, :nz_hb, :nz_mb, :nz_ca, :nz_ch, :nz_wl, :pe, :ph, :pl, :pt, :pt_li, :pt_po, :ro, :rs_cyrl, :rs_la, :ru, :se, :tn, :tr, :tsx, :ua, :us_fl, :us_al, :us_la, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pa, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok, :unitednations, :ups, :za, :ve, :sk, :si, :jp, :vi, :sg, :my, :th, :ng]
4
4
 
5
- PARENT_REGION_LOOKUP = {:ar=>:ar, :at=>:at, :au=>:au, :au_nsw=>:au, :au_vic=>:au, :au_qld=>:au, :au_nt=>:au, :au_act=>:au, :au_sa=>:au, :au_wa=>:au, :au_tas=>:au, :au_tas_south=>:au, :au_qld_cairns=>:au, :au_qld_brisbane=>:au, :au_tas_north=>:au, :au_vic_melbourne=>:au, :be_fr=>:be_fr, :be_nl=>:be_nl, :br=>:br, :bg_en=>:bg, :bg_bg=>:bg, :ca=>:ca, :ca_qc=>:ca, :ca_ab=>:ca, :ca_sk=>:ca, :ca_on=>:ca, :ca_bc=>:ca, :ca_nb=>:ca, :ca_mb=>:ca, :ca_ns=>:ca, :ca_pe=>:ca, :ca_nl=>:ca, :ca_nt=>:ca, :ca_nu=>:ca, :ca_yt=>:ca, :us=>:us, :ch_zh=>:ch, :ch_be=>:ch, :ch_lu=>:ch, :ch_ur=>:ch, :ch_sz=>:ch, :ch_ow=>:ch, :ch_nw=>:ch, :ch_gl=>:ch, :ch_zg=>:ch, :ch_fr=>:ch, :ch_so=>:ch, :ch_bs=>:ch, :ch_bl=>:ch, :ch_sh=>:ch, :ch_ar=>:ch, :ch_ai=>:ch, :ch_sg=>:ch, :ch_gr=>:ch, :ch_ag=>:ch, :ch_tg=>:ch, :ch_ti=>:ch, :ch_vd=>:ch, :ch_ne=>:ch, :ch_ge=>:ch, :ch_ju=>:ch, :ch_vs=>:ch, :ch=>:ch, :cl=>:cl, :co=>:co, :cr=>:cr, :cz=>:cz, :dk=>:dk, :de=>:de, :de_bw=>:de, :de_by=>:de, :de_he=>:de, :de_nw=>:de, :de_rp=>:de, :de_sl=>:de, :de_sn_sorbian=>:de, :de_th_cath=>:de, :de_sn=>:de, :de_st=>:de, :de_be=>:de, :de_mv=>:de, :de_by_cath=>:de, :de_by_augsburg=>:de, :de_th=>:de, :de_bb=>:de, :de_hb=>:de, :de_hh=>:de, :de_ni=>:de, :de_sh=>:de, :ecbtarget=>:ecbtarget, :ee=>:ee, :es_pv=>:es, :es_na=>:es, :es_an=>:es, :es_ib=>:es, :es_cm=>:es, :es_mu=>:es, :es_m=>:es, :es_ar=>:es, :es_cl=>:es, :es_cn=>:es, :es_lo=>:es, :es_ga=>:es, :es_ce=>:es, :es_o=>:es, :es_ex=>:es, :es=>:es, :es_ct=>:es, :es_v=>:es, :es_vc=>:es, :federalreserve=>:federalreserve, :federalreservebanks=>:federalreservebanks, :fedex=>:fedex, :fi=>:fi, :fr_a=>:fr, :fr_m=>:fr, :fr=>:fr, :gb=>:gb, :gb_eng=>:gb, :gb_wls=>:gb, :gb_eaw=>:gb, :gb_nir=>:gb, :je=>:gb, :gb_jsy=>:gb, :gg=>:gb, :gb_gsy=>:gb, :gb_sct=>:gb, :gb_con=>:gb, :im=>:gb, :gb_iom=>:gb, :ge=>:ge, :gr=>:gr, :hr=>:hr, :hk=>:hk, :hu=>:hu, :ie=>:ie, :is=>:is, :it=>:it, :it_ve=>:it, :it_tv=>:it, :it_vr=>:it, :it_pd=>:it, :it_fi=>:it, :it_ge=>:it, :it_to=>:it, :it_rm=>:it, :it_vi=>:it, :it_bl=>:it, :it_ro=>:it, :ke=>:ke, :kr=>:kr, :kz=>:kz, :li=>:li, :lt=>:lt, :lv=>:lv, :ma=>:ma, :mt_mt=>:mt_mt, :mt_en=>:mt_en, :mx=>:mx, :mx_pue=>:mx, :nerc=>:nerc, :nl=>:nl, :lu=>:lu, :no=>:no, :nyse=>:nyse, :nz=>:nz, :nz_sl=>:nz, :nz_we=>:nz, :nz_ak=>:nz, :nz_nl=>:nz, :nz_ne=>:nz, :nz_ot=>:nz, :nz_ta=>:nz, :nz_sc=>:nz, :nz_hb=>:nz, :nz_mb=>:nz, :nz_ca=>:nz, :nz_ch=>:nz, :nz_wl=>:nz, :pe=>:pe, :ph=>:ph, :pl=>:pl, :pt=>:pt, :pt_li=>:pt, :pt_po=>:pt, :ro=>:ro, :rs_cyrl=>:rs_cyrl, :rs_la=>:rs_la, :ru=>:ru, :se=>:se, :tn=>:tn, :tr=>:tr, :ua=>:ua, :us_fl=>:us, :us_la=>:us, :us_ct=>:us, :us_de=>:us, :us_gu=>:us, :us_hi=>:us, :us_in=>:us, :us_ky=>:us, :us_nj=>:us, :us_nc=>:us, :us_nd=>:us, :us_pr=>:us, :us_tn=>:us, :us_ms=>:us, :us_id=>:us, :us_ar=>:us, :us_tx=>:us, :us_dc=>:us, :us_md=>:us, :us_va=>:us, :us_vt=>:us, :us_ak=>:us, :us_ca=>:us, :us_me=>:us, :us_ma=>:us, :us_al=>:us, :us_ga=>:us, :us_ne=>:us, :us_mo=>:us, :us_sc=>:us, :us_wv=>:us, :us_vi=>:us, :us_ut=>:us, :us_ri=>:us, :us_az=>:us, :us_co=>:us, :us_il=>:us, :us_mt=>:us, :us_nm=>:us, :us_ny=>:us, :us_oh=>:us, :us_pa=>:us, :us_mi=>:us, :us_mn=>:us, :us_nv=>:us, :us_or=>:us, :us_sd=>:us, :us_wa=>:us, :us_wi=>:us, :us_wy=>:us, :us_ia=>:us, :us_ks=>:us, :us_nh=>:us, :us_ok=>:us, :unitednations=>:unitednations, :ups=>:ups, :za=>:za, :ve=>:southamerica, :sk=>:europe, :si=>:europe, :jp=>:jp, :vi=>:vi, :sg=>:sg, :my=>:my, :th=>:th, :ng=>:ng}
5
+ PARENT_REGION_LOOKUP = {ar: :ar, at: :at, au: :au, au_nsw: :au, au_vic: :au, au_qld: :au, au_nt: :au, au_act: :au, au_sa: :au, au_wa: :au, au_tas: :au, au_tas_south: :au, au_qld_cairns: :au, au_qld_brisbane: :au, au_tas_north: :au, au_vic_melbourne: :au, be_fr: :be_fr, be_nl: :be_nl, br: :br, bg_en: :bg, bg_bg: :bg, ca: :ca, ca_qc: :ca, ca_ab: :ca, ca_sk: :ca, ca_on: :ca, ca_bc: :ca, ca_nb: :ca, ca_mb: :ca, ca_ns: :ca, ca_pe: :ca, ca_nl: :ca, ca_nt: :ca, ca_nu: :ca, ca_yt: :ca, us: :us, ch_zh: :ch, ch_be: :ch, ch_lu: :ch, ch_ur: :ch, ch_sz: :ch, ch_ow: :ch, ch_nw: :ch, ch_gl: :ch, ch_zg: :ch, ch_fr: :ch, ch_so: :ch, ch_bs: :ch, ch_bl: :ch, ch_sh: :ch, ch_ar: :ch, ch_ai: :ch, ch_sg: :ch, ch_gr: :ch, ch_ag: :ch, ch_tg: :ch, ch_ti: :ch, ch_vd: :ch, ch_ne: :ch, ch_ge: :ch, ch_ju: :ch, ch_vs: :ch, ch: :ch, cl: :cl, co: :co, cr: :cr, cy: :cy, cz: :cz, dk: :dk, de: :de, de_bw: :de, de_by: :de, de_he: :de, de_nw: :de, de_rp: :de, de_sl: :de, de_sn_sorbian: :de, de_th_cath: :de, de_sn: :de, de_st: :de, de_be: :de, de_mv: :de, de_by_cath: :de, de_by_augsburg: :de, de_th: :de, de_bb: :de, de_hb: :de, de_hh: :de, de_ni: :de, de_sh: :de, ecbtarget: :ecbtarget, ee: :ee, es_pv: :es, es_na: :es, es_an: :es, es_ib: :es, es_cm: :es, es_mu: :es, es_m: :es, es_ar: :es, es_cl: :es, es_cn: :es, es_lo: :es, es_ga: :es, es_ce: :es, es_o: :es, es_ex: :es, es: :es, es_ct: :es, es_v: :es, es_vc: :es, federalreserve: :federalreserve, federalreservebanks: :federalreservebanks, fedex: :fedex, fi: :fi, fr_a: :fr, fr_m: :fr, fr: :fr, gb: :gb, gb_eng: :gb, gb_wls: :gb, gb_eaw: :gb, gb_nir: :gb, je: :gb, gb_jsy: :gb, gg: :gb, gb_gsy: :gb, gb_sct: :gb, gb_con: :gb, im: :gb, gb_iom: :gb, ge: :ge, gr: :gr, hr: :hr, hk: :hk, hu: :hu, ie: :ie, in: :in, in_wb: :in, in_od: :in, in_tr: :in, in_mh: :in, in_ar: :in, in_mz: :in, in_br: :in, in_hp: :in, in_gj: :in, in_sk: :in, in_ts: :in, in_jh: :in, in_py: :in, in_kl: :in, in_ka: :in, in_jk: :in, in_ap: :in, in_cg: :in, in_hr: :in, in_mp: :in, in_pb: :in, in_nl: :in, in_as: :in, in_ga: :in, is: :is, it: :it, it_ve: :it, it_tv: :it, it_vr: :it, it_pd: :it, it_fi: :it, it_ge: :it, it_to: :it, it_rm: :it, it_vi: :it, it_bl: :it, it_ro: :it, ke: :ke, kr: :kr, kz: :kz, li: :li, lt: :lt, lv: :lv, ma: :ma, mt_mt: :mt_mt, mt_en: :mt_en, mx: :mx, mx_pue: :mx, nerc: :nerc, nl: :nl, lu: :lu, no: :no, nyse: :nyse, nz: :nz, nz_sl: :nz, nz_we: :nz, nz_ak: :nz, nz_nl: :nz, nz_ne: :nz, nz_ot: :nz, nz_ta: :nz, nz_sc: :nz, nz_hb: :nz, nz_mb: :nz, nz_ca: :nz, nz_ch: :nz, nz_wl: :nz, pe: :pe, ph: :ph, pl: :pl, pt: :pt, pt_li: :pt, pt_po: :pt, ro: :ro, rs_cyrl: :rs_cyrl, rs_la: :rs_la, ru: :ru, se: :se, tn: :tn, tr: :tr, tsx: :tsx, ua: :ua, us_fl: :us, us_al: :us, us_la: :us, us_ct: :us, us_de: :us, us_gu: :us, us_hi: :us, us_in: :us, us_ky: :us, us_nj: :us, us_nc: :us, us_nd: :us, us_pa: :us, us_pr: :us, us_tn: :us, us_ms: :us, us_id: :us, us_ar: :us, us_tx: :us, us_dc: :us, us_md: :us, us_va: :us, us_vt: :us, us_ak: :us, us_ca: :us, us_me: :us, us_ma: :us, us_ga: :us, us_ne: :us, us_mo: :us, us_sc: :us, us_wv: :us, us_vi: :us, us_ut: :us, us_ri: :us, us_az: :us, us_co: :us, us_il: :us, us_mt: :us, us_nm: :us, us_ny: :us, us_oh: :us, us_mi: :us, us_mn: :us, us_nv: :us, us_or: :us, us_sd: :us, us_wa: :us, us_wi: :us, us_wy: :us, us_ia: :us, us_ks: :us, us_nh: :us, us_ok: :us, unitednations: :unitednations, ups: :ups, za: :za, ve: :southamerica, sk: :europe, si: :europe, jp: :jp, vi: :vi, sg: :sg, my: :my, th: :th, ng: :ng}
6
6
  end
@@ -27,7 +27,7 @@ module Holidays
27
27
  {:function => "march_pub_hol_sa(year)", :function_arguments => [:year], :name => "March Public Holiday", :regions => [:au_sa]},
28
28
  {:wday => 1, :week => 2, :name => "Canberra Day", :regions => [:au_act]}],
29
29
  4 => [{:mday => 25, :name => "ANZAC Day", :regions => [:au, :au_vic]},
30
- {:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:au_nsw, :au_qld, :au_nt, :au_act, :au_sa, :au_tas]},
30
+ {:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:au_qld, :au_nt, :au_act, :au_sa]},
31
31
  {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:au_wa]}],
32
32
  5 => [{:function => "qld_labour_day_may(year)", :function_arguments => [:year], :name => "Labour Day", :regions => [:au_qld]},
33
33
  {:wday => 1, :week => 1, :name => "May Day", :regions => [:au_nt]},
@@ -74,9 +74,17 @@ when 2017
74
74
  when 2018
75
75
  Date.civil(2018, 9, 28)
76
76
  when 2019
77
- Date.civil(2019,9, 27)
77
+ Date.civil(2019, 9, 27)
78
78
  when 2020
79
79
  Date.civil(2020, 10, 23)
80
+ when 2021
81
+ Date.civil(2021, 9, 24)
82
+ when 2022
83
+ Date.civil(2022, 9, 23)
84
+ when 2023
85
+ Date.civil(2023, 9, 29)
86
+ when 2024
87
+ Date.civil(2024, 9, 27)
80
88
  end
81
89
  },
82
90
 
@@ -12,13 +12,13 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
16
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
17
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
18
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
19
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
20
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
21
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]}],
15
+ 0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
16
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
17
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
18
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
19
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
20
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
21
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]}],
22
22
  1 => [{:mday => 1, :name => "New Year's Day", :regions => [:bg_en]},
23
23
  {:mday => 1, :name => "Нова година", :regions => [:bg_bg]}],
24
24
  3 => [{:mday => 3, :name => "Liberation Day", :regions => [:bg_en]},
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/cy.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module CY # :nodoc:
9
+ def self.defined_regions
10
+ [:cy]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Μεγάλη Παρασκευή", :regions => [:cy]},
16
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Μεγάλο Σάββατο", :regions => [:cy]},
17
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Κυριακή του Πάσχα", :regions => [:cy]},
18
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Δευτέρα του Πάσχα", :regions => [:cy]},
19
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 2, :name => "Τρίτη του Πάσχα", :regions => [:cy]},
20
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Καθαρά Δευτέρα", :regions => [:cy]},
21
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Αγίου Πνεύματος", :regions => [:cy]}],
22
+ 1 => [{:mday => 1, :name => "Πρωτοχρονιά", :regions => [:cy]},
23
+ {:mday => 6, :name => "Θεοφάνεια", :regions => [:cy]}],
24
+ 3 => [{:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:cy]}],
25
+ 4 => [{:mday => 1, :name => "Εθνική Ημέρα Κύπρου", :regions => [:cy]}],
26
+ 5 => [{:mday => 1, :name => "Πρωτομαγιά", :regions => [:cy]}],
27
+ 8 => [{:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:cy]}],
28
+ 10 => [{:mday => 28, :name => "Επέτειος του Όχι", :regions => [:cy]}],
29
+ 12 => [{:mday => 25, :name => "Χριστούγεννα", :regions => [:cy]},
30
+ {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:cy]}]
31
+ }
32
+ end
33
+
34
+ def self.custom_methods
35
+ {
36
+
37
+ }
38
+ end
39
+ end
40
+ end
@@ -23,14 +23,16 @@ module Holidays
23
23
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :type => :informal, :name => "Rosenmontag", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
24
24
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :type => :informal, :name => "Aschermittwoch", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]}],
25
25
  1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:de]},
26
- {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]}],
26
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by]},
27
+ {:mday => 6, :year_ranges => { :from => 1991 },:name => "Heilige Drei Könige", :regions => [:de_st]}],
27
28
  3 => [{:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
28
29
  {:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]}],
29
- 5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
30
+ 5 => [{:mday => 1, :year_ranges => { :from => 1933 },:name => "Tag der Arbeit", :regions => [:de]},
30
31
  {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]}],
31
- 6 => [{:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]}],
32
+ 6 => [{:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
33
+ {:mday => 17, :year_ranges => { :limited => [2028] },:name => "Jahrestag des Volksaufstands in der DDR", :regions => [:de_be]}],
32
34
  8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by_cath, :de_by_augsburg, :de_sl]},
33
- {:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]}],
35
+ {:mday => 8, :year_ranges => { :from => 1950 },:name => "Friedensfest", :regions => [:de_by_augsburg]}],
34
36
  9 => [{:mday => 20, :year_ranges => { :from => 2019 },:name => "Weltkindertag", :regions => [:de_th]}],
35
37
  10 => [{:mday => 3, :year_ranges => { :from => 1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
36
38
  {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
@@ -38,7 +40,9 @@ module Holidays
38
40
  {:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
39
41
  {:mday => 31, :year_ranges => { :from => 2018 },:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]}],
40
42
  11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
41
- {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :name => "Buß- und Bettag", :regions => [:de_sn]}],
43
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :from => 1990 },:name => "Buß- und Bettag", :regions => [:de_sn]},
44
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :until => 1994 },:name => "Buß- und Bettag", :regions => [:de_bw, :de_by, :de_be, :de_hb, :de_hh, :de_he, :de_ni, :de_nw, :de_rp, :de_sl, :de_sh]},
45
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :between => 1990..1994 },:name => "Buß- und Bettag", :regions => [:de_bb, :de_mv, :de_st, :de_th]}],
42
46
  12 => [{:mday => 24, :type => :informal, :name => "Heilig Abend", :regions => [:de]},
43
47
  {:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
44
48
  {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]},
@@ -149,13 +149,13 @@ module Holidays
149
149
  {:function => "easter(year)", :function_arguments => [:year], :name => "velikonočna nedelja", :regions => [:si]},
150
150
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "velikonočni ponedeljek", :regions => [:si]},
151
151
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "binkošti", :regions => [:si]},
152
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
153
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
154
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
155
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
156
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
157
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
158
- {:function => "orthodox_easter_julian(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]},
152
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
153
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
154
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
155
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
156
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
157
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
158
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]},
159
159
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Великдень", :regions => [:ua]},
160
160
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Трійця", :regions => [:ua]}],
161
161
  1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
@@ -168,7 +168,8 @@ module Holidays
168
168
  {:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]},
169
169
  {:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
170
170
  {:mday => 1, :name => "Neujahrstag", :regions => [:de]},
171
- {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]},
171
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by]},
172
+ {:mday => 6, :year_ranges => { :from => 1991 },:name => "Heilige Drei Könige", :regions => [:de_st]},
172
173
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Año Nuevo", :regions => [:es]},
173
174
  {:mday => 6, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de Reyes", :regions => [:es]},
174
175
  {:mday => 1, :name => "Jour de l'an", :regions => [:fr]},
@@ -199,6 +200,8 @@ module Holidays
199
200
  {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
200
201
  {:mday => 1, :name => "Anul nou", :regions => [:ro]},
201
202
  {:mday => 2, :name => "Anul nou", :regions => [:ro]},
203
+ {:mday => 6, :name => "Botezul Domnului - Boboteaza", :regions => [:ro]},
204
+ {:mday => 7, :name => "Soborul Sfântului Proroc Ioan Botezătorul", :regions => [:ro]},
202
205
  {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]},
203
206
  {:mday => 1, :name => "Nový rok", :regions => [:sk]},
204
207
  {:mday => 6, :name => "Zjavenie Pána (Traja králi)", :regions => [:sk]},
@@ -216,7 +219,7 @@ module Holidays
216
219
  {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
217
220
  {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
218
221
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
219
- {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
222
+ {:mday => 1, :year_ranges => { :from => 1933 },:name => "Tag der Arbeit", :regions => [:de]},
220
223
  {:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]},
221
224
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día del Trabajador", :regions => [:es]},
222
225
  {:mday => 2, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Fiesta de la Comunidad", :regions => [:es_m]},
@@ -274,7 +277,7 @@ module Holidays
274
277
  {:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
275
278
  {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ju]},
276
279
  {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by_cath, :de_by_augsburg, :de_sl]},
277
- {:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]},
280
+ {:mday => 8, :year_ranges => { :from => 1950 },:name => "Friedensfest", :regions => [:de_by_augsburg]},
278
281
  {:mday => 15, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Asunción", :regions => [:es]},
279
282
  {:mday => 15, :name => "Assomption", :regions => [:fr]},
280
283
  {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
@@ -308,6 +311,7 @@ module Holidays
308
311
  {:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]},
309
312
  {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
310
313
  {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
314
+ {:mday => 4, :year_ranges => { :from => 2026 },:name => "Festa di San Francesco d'Assisi", :regions => [:it]},
311
315
  {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
312
316
  {:mday => 5, :name => "Dia da República", :regions => [:pt]},
313
317
  {:mday => 31, :name => "dan reformacije", :regions => [:si]},
@@ -322,7 +326,9 @@ module Holidays
322
326
  {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
323
327
  {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
324
328
  {:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
325
- {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :name => "Buß- und Bettag", :regions => [:de_sn]},
329
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :from => 1990 },:name => "Buß- und Bettag", :regions => [:de_sn]},
330
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :until => 1994 },:name => "Buß- und Bettag", :regions => [:de_bw, :de_by, :de_be, :de_hb, :de_hh, :de_he, :de_ni, :de_nw, :de_rp, :de_sl, :de_sh]},
331
+ {:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :between => 1990..1994 },:name => "Buß- und Bettag", :regions => [:de_bb, :de_mv, :de_st, :de_th]},
326
332
  {:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Todos los Santos", :regions => [:es]},
327
333
  {:mday => 1, :name => "Toussaint", :regions => [:fr]},
328
334
  {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
@@ -347,7 +353,6 @@ module Holidays
347
353
  {:mday => 1, :name => "Dia de Todos-os-Santos", :regions => [:pt]},
348
354
  {:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]},
349
355
  {:mday => 1, :name => "Sviatok všetkých svätých", :regions => [:sk]},
350
- {:mday => 17, :name => "Deň boja za slobodu a demokraciu", :regions => [:sk]},
351
356
  {:mday => 1, :name => "dan spomina na mrtve", :regions => [:si]},
352
357
  {:mday => 1, :name => "Revival Leader's Day", :regions => [:bg_en]},
353
358
  {:mday => 1, :name => "Ден на Народните будители", :regions => [:bg_bg]}],
@@ -415,7 +420,8 @@ module Holidays
415
420
  {:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]},
416
421
  {:mday => 4, :type => :informal, :name => "Barbórka (Dzień Górnika, Naftowca i Gazownika)", :regions => [:pl]},
417
422
  {:mday => 6, :type => :informal, :name => "Mikołajki", :regions => [:pl]},
418
- {:mday => 24, :type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
423
+ {:mday => 24, :year_ranges => { :from => 2025 },:name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
424
+ {:mday => 24, :year_ranges => { :until => 2024 },:type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
419
425
  {:mday => 25, :name => "pierwszy dzień Bożego Narodzenia", :regions => [:pl]},
420
426
  {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
421
427
  {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]},
@@ -487,6 +493,7 @@ module Holidays
487
493
  {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
488
494
  {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
489
495
  {:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
496
+ {:mday => 17, :year_ranges => { :limited => [2028] },:name => "Jahrestag des Volksaufstands in der DDR", :regions => [:de_be]},
490
497
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de la Región de Murcia", :regions => [:es_mu]},
491
498
  {:mday => 9, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Día de La Rioja", :regions => [:es_lo]},
492
499
  {:mday => 24, :name => "San Juan", :regions => [:es_ct, :es_vc]},
@@ -525,7 +532,6 @@ module Holidays
525
532
  {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
526
533
  {:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]},
527
534
  {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
528
- {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
529
535
  {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]},
530
536
  {:mday => 6, :name => "Unification Day", :regions => [:bg_en]},
531
537
  {:mday => 6, :name => "Ден на Съединението", :regions => [:bg_bg]},
@@ -12,15 +12,20 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "cn_new_lunar_day(year)", :function_arguments => [:year], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Lunar New Year's Day", :regions => [:hk]},
16
- {:function => "cn_new_lunar_day(year)", :function_arguments => [:year], :function_modifier => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "The second day of Lunar New Year", :regions => [:hk]},
17
- {:function => "cn_new_lunar_day(year)", :function_arguments => [:year], :function_modifier => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "The third day of Lunar New Year", :regions => [:hk]},
18
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:hk]},
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:hk]},
19
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "The day following Good Friday", :regions => [:hk]},
20
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:hk]}],
21
- 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:hk]}],
22
- 5 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:hk]}],
18
+ 1 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:hk]},
19
+ {:mday => 1, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Lunar New Year's Day", :regions => [:hk]},
20
+ {:mday => 1, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_the_weekday_after(date)", :observed_arguments => [:date], :name => "The second day of Lunar New Year", :regions => [:hk]},
21
+ {:mday => 1, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_the_second_weekday_after(date)", :observed_arguments => [:date], :name => "The third day of Lunar New Year", :regions => [:hk]}],
22
+ 4 => [{:mday => 5, :observed => "to_previous_day_if_leap_year(date)", :observed_arguments => [:date], :name => "Ching Ming Festival", :regions => [:hk]},
23
+ {:mday => 8, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Buddha's Birthday", :regions => [:hk]}],
24
+ 5 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:hk]},
25
+ {:mday => 5, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Tuen Ng Festival", :regions => [:hk]}],
23
26
  7 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Hong Kong Special Administrative Region Establishment Day", :regions => [:hk]}],
27
+ 8 => [{:mday => 16, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "The day following the Chinese Mid-Autumn Festival", :regions => [:hk]}],
28
+ 9 => [{:mday => 9, :function => "lunar_to_solar(year, month, day, region)", :function_arguments => [:year, :month, :day, :region], :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Chung Yeung Festival", :regions => [:hk]}],
24
29
  10 => [{:mday => 1, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "National Day", :regions => [:hk]}],
25
30
  12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:hk]},
26
31
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:hk]}]
@@ -29,77 +34,7 @@ module Holidays
29
34
 
30
35
  def self.custom_methods
31
36
  {
32
- "cn_new_lunar_day(year)" => Proc.new { |year|
33
- month_day = case year
34
- when 1930, 1949, 1987, 2025, 2063, 2082, 2101, 2112, 2131, 2150, 2207, 2245, 2253, 2283, 2321
35
- [1, 29]
36
- when 1931, 1950, 1969, 1988, 2007, 2026, 2045, 2083, 2091, 2102, 2121, 2159, 2197, 2208, 2216, 2227, 2246, 2265, 2303, 2322, 2341, 2379
37
- [2, 17]
38
- when 1932, 1951, 1970, 1989, 2027, 2046, 2114, 2179, 2198, 2209, 2247, 2266, 2304, 2323, 2342, 2361, 2399
39
- [2, 6]
40
- when 1933, 2009, 2028, 2047, 2066, 2085, 2115, 2161, 2199, 2210, 2229, 2267, 2305, 2316, 2324, 2335, 2381
41
- [1, 26]
42
- when 1934, 1953, 2037, 2048, 2067, 2086, 2105, 2116, 2181, 2189, 2211, 2257, 2268, 2306, 2325, 2336
43
- [2, 14]
44
- when 1935, 1943, 1992, 2038, 2106, 2144, 2201, 2212, 2258, 2296, 2307, 2326, 2364
45
- [2, 4]
46
- when 1936, 1955, 2001, 2039, 2058, 2088, 2107, 2164, 2183, 2221, 2259, 2278, 2308, 2327, 2373
47
- [1, 24]
48
- when 1937, 1975, 2032, 2040, 2051, 2070, 2108, 2127, 2146, 2165, 2252, 2260, 2271, 2290, 2309, 2328, 2347, 2366
49
- [2, 11]
50
- when 1938, 1957, 1976, 1995, 2014, 2033, 2071, 2109, 2128, 2185, 2272, 2291, 2329, 2348, 2367, 2386
51
- [1, 31]
52
- when 1939, 1996, 2015, 2053, 2072, 2110, 2129, 2292, 2330, 2368, 2387
53
- [2, 19]
54
- when 1940, 1959, 2016, 2035, 2081, 2130, 2149, 2187, 2206, 2225, 2236, 2255, 2312, 2350, 2358, 2369
55
- [2, 8]
56
- when 1941, 1952, 1971, 1990, 2074, 2093, 2123, 2142, 2180, 2248, 2294, 2343, 2351, 2362
57
- [1, 27]
58
- when 1942, 1961, 1972, 1991, 2056, 2075, 2094, 2124, 2143, 2200, 2276, 2295, 2344, 2363
59
- [2, 15]
60
- when 1944, 1963, 1982, 2020, 2096, 2134, 2153, 2172, 2191, 2202, 2240, 2286, 2354, 2392
61
- [1, 25]
62
- when 1945, 1964, 1983, 2010, 2029, 2162, 2192, 2230, 2249, 2317, 2382
63
- [2, 13]
64
- when 1946, 2003, 2022, 2041, 2052, 2098, 2147, 2155, 2166, 2223, 2242, 2261, 2299, 2310, 2375, 2394
65
- [2, 1]
66
- when 1947, 2004, 2042, 2050, 2080, 2118, 2137, 2194, 2270, 2289, 2300, 2338, 2376
67
- [1, 22]
68
- when 1948, 1994, 2013, 2024, 2043, 2089, 2119, 2138, 2157, 2176, 2195, 2214, 2320, 2396
69
- [2, 10]
70
- when 1954, 1973, 2011, 2057, 2068, 2087, 2125, 2163, 2231, 2277, 2288, 2345, 2383
71
- [2, 3]
72
- when 1956, 2002, 2021, 2059, 2078, 2097, 2135, 2154, 2173, 2184, 2203, 2222, 2241, 2279, 2287, 2298, 2355, 2374, 2393
73
- [2, 12]
74
- when 1958, 1977, 2034, 2140, 2178, 2235, 2254, 2273, 2311, 2349, 2360, 2398
75
- [2, 18]
76
- when 1960, 1979, 1998, 2006, 2017, 2036, 2055, 2104, 2169, 2188, 2218, 2226, 2237, 2256, 2275, 2313, 2332, 2370, 2389
77
- [1, 28]
78
- when 1962, 1981, 2000, 2019, 2065, 2076, 2084, 2095, 2133, 2152, 2171, 2190, 2220, 2239, 2285, 2315, 2334, 2353, 2372, 2391
79
- [2, 5]
80
- when 1965, 1984, 2030, 2049, 2060, 2079, 2117, 2136, 2174, 2182, 2193, 2204, 2250, 2269, 2280, 2318, 2337, 2356
81
- [2, 2]
82
- when 1966, 2023, 2061, 2099, 2186, 2262, 2281, 2357, 2395
83
- [1, 21]
84
- when 1967, 1986, 2005, 2062, 2100, 2168, 2233, 2244, 2263, 2282, 2301, 2339, 2377, 2385, 2388
85
- [2, 9]
86
- when 1968, 2044, 2090, 2120, 2139, 2158, 2177, 2196, 2215, 2234, 2264, 2302, 2340, 2359, 2378, 2397
87
- [1, 30]
88
- when 1974, 1993, 2012, 2031, 2069, 2077, 2126, 2145, 2156, 2175, 2213, 2232, 2251, 2297, 2346, 2365, 2384
89
- [1, 23]
90
- when 1978, 1997, 2008, 2054, 2073, 2092, 2103, 2111, 2122, 2141, 2160, 2217, 2228, 2274, 2293, 2331, 2380
91
- [2, 7]
92
- when 1980, 1999, 2018, 2064, 2113, 2132, 2151, 2170, 2219, 2238, 2284, 2314, 2333, 2352, 2371, 2390
93
- [2, 16]
94
- when 1985, 2148, 2167, 2205, 2224, 2243
95
- [2, 20]
96
- when 2319
97
- [2, 21]
98
- end
99
- Date.civil(year, month_day[0], month_day[1])
100
- },
101
-
102
-
37
+
103
38
  }
104
39
  end
105
40
  end
@@ -0,0 +1,64 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/in.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module IN # :nodoc:
9
+ def self.defined_regions
10
+ [:in, :in_wb, :in_od, :in_tr, :in_mh, :in_ar, :in_mz, :in_br, :in_hp, :in_gj, :in_sk, :in_ts, :in_jh, :in_py, :in_kl, :in_ka, :in_jk, :in_ap, :in_cg, :in_hr, :in_mp, :in_pb, :in_nl, :in_as, :in_ga]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:in]}],
16
+ 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:in]},
17
+ {:mday => 12, :name => "Swami Vivekananda Jayanti", :regions => [:in_wb]},
18
+ {:mday => 14, :name => "Makar Sankranti / Pongal / Magh Bihu / Uttarayan / Khichdi / Sankranti", :regions => [:in]},
19
+ {:mday => 23, :name => "Netaji Subhas Chandra Bose Jayanti", :regions => [:in_od, :in_wb, :in_tr]},
20
+ {:mday => 26, :name => "Republic Day", :regions => [:in]}],
21
+ 2 => [{:mday => 19, :name => "Chhatrapati Shivaji Maharaj Jayanti", :regions => [:in_mh]},
22
+ {:mday => 20, :name => "Arunachal Pradesh Statehood Day", :regions => [:in_ar]},
23
+ {:mday => 20, :name => "Mizoram State Day", :regions => [:in_mz]}],
24
+ 3 => [{:mday => 22, :name => "Bihar Day", :regions => [:in_br]}],
25
+ 4 => [{:mday => 1, :name => "Odisha Day", :regions => [:in_od]},
26
+ {:mday => 14, :name => "Dr. B. R. Ambedkar Jayanti", :regions => [:in]},
27
+ {:mday => 15, :name => "Himachal Pradesh Day", :regions => [:in_hp]},
28
+ {:mday => 15, :name => "West Bengal Day", :regions => [:in_wb]}],
29
+ 5 => [{:mday => 1, :name => "Gujarat Day", :regions => [:in_gj]},
30
+ {:mday => 1, :name => "Maharashtra Day", :regions => [:in_mh]},
31
+ {:mday => 1, :name => "Labour Day", :regions => [:in]},
32
+ {:mday => 7, :name => "Rabindranath Tagore Jayanti", :regions => [:in_wb]},
33
+ {:mday => 16, :name => "Sikkim State Day", :regions => [:in_sk]}],
34
+ 6 => [{:mday => 2, :name => "Telangana Formation Day", :regions => [:in_ts]}],
35
+ 7 => [{:mday => 13, :name => "Martyrs' Day", :regions => [:in_jh]}],
36
+ 8 => [{:mday => 15, :name => "Independence day", :regions => [:in]},
37
+ {:mday => 16, :name => "Puducherry De Jure Transfer Day", :regions => [:in_py]},
38
+ {:mday => 20, :name => "Sree Narayana Guru Jayanti", :regions => [:in_kl]}],
39
+ 9 => [{:mday => 17, :name => "Hyderabad-Karnataka Liberation Day", :regions => [:in_ka]}],
40
+ 10 => [{:mday => 2, :name => "Mahatma Gandhi Jayanti", :regions => [:in]},
41
+ {:mday => 26, :name => "Jammu and Kashmir Association Day", :regions => [:in_jk]},
42
+ {:mday => 31, :name => "Sardar Vallabhbhai Patel Jayanti", :regions => [:in_gj]}],
43
+ 11 => [{:mday => 1, :name => "Andhra Pradesh Day", :regions => [:in_ap]},
44
+ {:mday => 1, :name => "Chhattisgarh Rajyotsava", :regions => [:in_cg]},
45
+ {:mday => 1, :name => "Haryana Day", :regions => [:in_hr]},
46
+ {:mday => 1, :name => "Kannada Rajyothsava", :regions => [:in_ka]},
47
+ {:mday => 1, :name => "Kerala Day", :regions => [:in_kl]},
48
+ {:mday => 1, :name => "Madhya Pradesh Day", :regions => [:in_mp]},
49
+ {:mday => 1, :name => "Punjab Day", :regions => [:in_pb]},
50
+ {:mday => 1, :name => "Puducherry Liberation Day", :regions => [:in_py]}],
51
+ 12 => [{:mday => 1, :name => "Nagaland State Inauguration Day", :regions => [:in_nl]},
52
+ {:mday => 2, :name => "Asom Day", :regions => [:in_as]},
53
+ {:mday => 19, :name => "Goa Liberation Day", :regions => [:in_ga]},
54
+ {:mday => 25, :name => "Christmas Day", :regions => [:in]}]
55
+ }
56
+ end
57
+
58
+ def self.custom_methods
59
+ {
60
+
61
+ }
62
+ end
63
+ end
64
+ end
@@ -27,6 +27,7 @@ module Holidays
27
27
  {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]}],
28
28
  8 => [{:mday => 15, :name => "Assunzione", :regions => [:it]}],
29
29
  9 => [{:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]}],
30
+ 10 => [{:mday => 4, :year_ranges => { :from => 2026 },:name => "Festa di San Francesco d'Assisi", :regions => [:it]}],
30
31
  11 => [{:mday => 1, :name => "Ognissanti", :regions => [:it]},
31
32
  {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
32
33
  {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]}],