holidays 8.8.0 → 9.1.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.
- checksums.yaml +4 -4
- data/.github/workflows/changelog-check.yml +47 -0
- data/.github/workflows/release.yml +46 -0
- data/.github/workflows/ruby.yml +2 -2
- data/CHANGELOG.md +10 -0
- data/README.md +4 -8
- data/holidays.gemspec +4 -4
- data/lib/generated_definitions/MANIFEST +3 -0
- data/lib/generated_definitions/REGIONS.rb +2 -2
- data/lib/generated_definitions/au.rb +9 -5
- data/lib/generated_definitions/bg.rb +7 -7
- data/lib/generated_definitions/cy.rb +40 -0
- data/lib/generated_definitions/de.rb +9 -5
- data/lib/generated_definitions/europe.rb +20 -14
- data/lib/generated_definitions/hk.rb +12 -77
- data/lib/generated_definitions/in.rb +64 -0
- data/lib/generated_definitions/it.rb +1 -0
- data/lib/generated_definitions/northamerica.rb +13 -5
- data/lib/generated_definitions/pl.rb +2 -1
- data/lib/generated_definitions/ro.rb +2 -0
- data/lib/generated_definitions/sk.rb +2 -4
- data/lib/generated_definitions/tsx.rb +46 -0
- data/lib/generated_definitions/ups.rb +2 -1
- data/lib/generated_definitions/us.rb +13 -5
- data/lib/holidays/date_calculator/lunar_date.rb +160 -5
- data/lib/holidays/date_calculator/weekend_modifier.rb +13 -0
- data/lib/holidays/definition/context/generator.rb +2 -2
- data/lib/holidays/definition/generator/regions.rb +2 -1
- data/lib/holidays/definition/generator/test.rb +1 -1
- data/lib/holidays/finder/context/search.rb +4 -1
- data/lib/holidays/load_all_definitions.rb +4 -1
- data/lib/holidays/version.rb +1 -1
- data/test/defs/test_defs_bg.rb +4 -4
- data/test/defs/test_defs_cy.rb +41 -0
- data/test/defs/test_defs_de.rb +2 -0
- data/test/defs/test_defs_europe.rb +26 -20
- data/test/defs/test_defs_hk.rb +34 -0
- data/test/defs/test_defs_in.rb +94 -0
- data/test/defs/test_defs_it.rb +2 -0
- data/test/defs/test_defs_northamerica.rb +16 -9
- data/test/defs/test_defs_pl.rb +3 -1
- data/test/defs/test_defs_ro.rb +4 -0
- data/test/defs/test_defs_sk.rb +11 -15
- data/test/defs/test_defs_tsx.rb +70 -0
- data/test/defs/test_defs_us.rb +16 -9
- data/test/holidays/definition/context/test_generator.rb +2 -2
- data/test/holidays/definition/generator/test_regions.rb +4 -4
- data/test/integration/test_available_regions.rb +1 -1
- data/test/integration/test_holidays.rb +1 -1
- metadata +21 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c423e457490bf307e7fabdfc2744e0e8621eb6f0a783e593023f562dccd8ad68
|
|
4
|
+
data.tar.gz: a6ce029fecfb730da6d6b6a0a75f4c7b718937d5a95d0d03fc407df58083ecb7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f2885529f2b22865d406bd38bafa8f169c94df37c4f7c6b51eef95d5aa2085cd29c0d4f9b9c8f3d2d2cb2ac887f984ba5521ecf279c548ec755b8a44ccb007a
|
|
7
|
+
data.tar.gz: 9c1aeaf7d210fe849d1977f931e625b895e8bced4924a26643a47e3edaca75451743ca036e864e8772901df92738fb612251195bfdf62b494ad01a3935c5eb91
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Changelog Check
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
branches: ["master"]
|
|
5
|
+
paths:
|
|
6
|
+
- 'lib/holidays/version.rb'
|
|
7
|
+
- 'CHANGELOG.md'
|
|
8
|
+
jobs:
|
|
9
|
+
check:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
- name: Extract version from version.rb
|
|
14
|
+
id: version
|
|
15
|
+
run: |
|
|
16
|
+
VERSION=$(grep -oP "VERSION = '\K[^']+" lib/holidays/version.rb)
|
|
17
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
18
|
+
echo "version.rb declares: $VERSION"
|
|
19
|
+
- name: Extract latest version from CHANGELOG
|
|
20
|
+
id: changelog
|
|
21
|
+
run: |
|
|
22
|
+
CHANGELOG_VERSION=$(grep -oP "^## \K[0-9]+\.[0-9]+\.[0-9]+" CHANGELOG.md | head -1)
|
|
23
|
+
echo "changelog_version=$CHANGELOG_VERSION" >> $GITHUB_OUTPUT
|
|
24
|
+
echo "CHANGELOG latest entry: $CHANGELOG_VERSION"
|
|
25
|
+
- name: Verify version.rb and CHANGELOG agree
|
|
26
|
+
run: |
|
|
27
|
+
VERSION="${{ steps.version.outputs.version }}"
|
|
28
|
+
CHANGELOG_VERSION="${{ steps.changelog.outputs.changelog_version }}"
|
|
29
|
+
FAILED=false
|
|
30
|
+
|
|
31
|
+
if ! grep -q "^## ${VERSION}$" CHANGELOG.md; then
|
|
32
|
+
echo "ERROR: version.rb declares ${VERSION} but no matching '## ${VERSION}' section found in CHANGELOG.md"
|
|
33
|
+
FAILED=true
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
if [ "${CHANGELOG_VERSION}" != "${VERSION}" ]; then
|
|
37
|
+
echo "ERROR: CHANGELOG.md latest entry is ${CHANGELOG_VERSION} but version.rb declares ${VERSION}"
|
|
38
|
+
FAILED=true
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
if [ "$FAILED" = "true" ]; then
|
|
42
|
+
echo ""
|
|
43
|
+
echo "Both version.rb and CHANGELOG.md must be updated together and must agree on the version."
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
echo "OK: version.rb and CHANGELOG.md both declare ${VERSION}"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: ["master"]
|
|
5
|
+
permissions:
|
|
6
|
+
contents: read
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
env:
|
|
11
|
+
BUNDLER_NO_OLD_RUBYGEMS_WARNING: true
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v3
|
|
14
|
+
- name: Set up Ruby
|
|
15
|
+
uses: ruby/setup-ruby@3ff19f5e2baf30647122352b96108b1fbe250c64 #v1.299.0
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: 'ruby'
|
|
18
|
+
bundler-cache: true
|
|
19
|
+
- name: Extract version from version.rb
|
|
20
|
+
id: version
|
|
21
|
+
run: |
|
|
22
|
+
VERSION=$(grep -oP "VERSION = '\K[^']+" lib/holidays/version.rb)
|
|
23
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
24
|
+
echo "Detected version: $VERSION"
|
|
25
|
+
- name: Check if version already exists on RubyGems
|
|
26
|
+
id: rubygems
|
|
27
|
+
run: |
|
|
28
|
+
VERSION="${{ steps.version.outputs.version }}"
|
|
29
|
+
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
|
|
30
|
+
"https://rubygems.org/api/v2/rubygems/holidays/versions/${VERSION}.json")
|
|
31
|
+
if [ "$HTTP_STATUS" = "200" ]; then
|
|
32
|
+
echo "exists=true" >> $GITHUB_OUTPUT
|
|
33
|
+
echo "Version ${VERSION} already exists on RubyGems, skipping publish"
|
|
34
|
+
else
|
|
35
|
+
echo "exists=false" >> $GITHUB_OUTPUT
|
|
36
|
+
echo "Version ${VERSION} not found on RubyGems (HTTP ${HTTP_STATUS})"
|
|
37
|
+
fi
|
|
38
|
+
- name: Build and publish gem
|
|
39
|
+
if: steps.rubygems.outputs.exists == 'false'
|
|
40
|
+
env:
|
|
41
|
+
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
|
42
|
+
run: |
|
|
43
|
+
VERSION="${{ steps.version.outputs.version }}"
|
|
44
|
+
gem build holidays.gemspec
|
|
45
|
+
gem push "holidays-${VERSION}.gem"
|
|
46
|
+
echo "Successfully published holidays ${VERSION} to RubyGems"
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -11,13 +11,13 @@ jobs:
|
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
strategy:
|
|
13
13
|
matrix:
|
|
14
|
-
ruby-version: ['
|
|
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@
|
|
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,15 @@
|
|
|
1
1
|
# Ruby Holidays Gem CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 9.1.0
|
|
4
|
+
|
|
5
|
+
* Update to [v6.0.0 definitions](https://github.com/holidays/definitions/releases/tag/v6.0.0). Please see the changelog for the definition details.
|
|
6
|
+
* Update mocha from 1.x to 2.x for Ruby 4.0 compatibility. Fixes warning about removed CGI library.
|
|
7
|
+
|
|
8
|
+
## 9.0.0
|
|
9
|
+
|
|
10
|
+
* Drop support for Ruby < 3.2. Supported versions are now 3.2, 3.3, 3.4, and ruby-head.
|
|
11
|
+
* Update to [v5.9.0 definitions](https://github.com/holidays/definitions/releases/tag/v5.9.0). Please see the changelog for the definition details.
|
|
12
|
+
|
|
3
13
|
## 8.8.0
|
|
4
14
|
|
|
5
15
|
* 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/README.md
CHANGED
|
@@ -14,14 +14,10 @@ gem install holidays
|
|
|
14
14
|
|
|
15
15
|
This gem is tested with the following ruby versions:
|
|
16
16
|
|
|
17
|
-
* 2
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* 3.0.6
|
|
22
|
-
* 3.1.4
|
|
23
|
-
* 3.2.2
|
|
24
|
-
* 3.3.0
|
|
17
|
+
* 3.2
|
|
18
|
+
* 3.3
|
|
19
|
+
* 3.4
|
|
20
|
+
* 4.0
|
|
25
21
|
* JRuby 9.2.21.0
|
|
26
22
|
* JRuby 9.4.2.0
|
|
27
23
|
|
data/holidays.gemspec
CHANGED
|
@@ -21,11 +21,11 @@ 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
|
|
25
|
-
gem.add_development_dependency 'bundler', '
|
|
26
|
-
gem.add_development_dependency 'rake', '~>
|
|
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
|
-
gem.add_development_dependency 'mocha', '~>
|
|
29
|
+
gem.add_development_dependency 'mocha', '~> 2'
|
|
30
30
|
gem.add_development_dependency 'pry', '~> 0.12'
|
|
31
31
|
end
|
|
@@ -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, :
|
|
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
|
|
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 => [:
|
|
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]},
|
|
@@ -71,12 +71,16 @@ when 2016
|
|
|
71
71
|
Date.civil(2016, 9, 30)
|
|
72
72
|
when 2017
|
|
73
73
|
Date.civil(2017, 9, 29)
|
|
74
|
-
when 2018
|
|
75
|
-
Date.civil(2018, 9, 28)
|
|
76
|
-
when 2019
|
|
77
|
-
Date.civil(2019,9, 27)
|
|
78
74
|
when 2020
|
|
79
75
|
Date.civil(2020, 10, 23)
|
|
76
|
+
when 2022
|
|
77
|
+
Date.civil(2022, 9, 23)
|
|
78
|
+
else
|
|
79
|
+
# Friday before AFL Grand Final typically falls on the last Friday in September
|
|
80
|
+
# Override when falls on a different date
|
|
81
|
+
last_day = Date.civil(year, 9, -1)
|
|
82
|
+
last_friday = last_day - ((last_day.wday - 5) % 7)
|
|
83
|
+
last_friday
|
|
80
84
|
end
|
|
81
85
|
},
|
|
82
86
|
|
|
@@ -12,13 +12,13 @@ module Holidays
|
|
|
12
12
|
|
|
13
13
|
def self.holidays_by_month
|
|
14
14
|
{
|
|
15
|
-
0 => [{:function => "
|
|
16
|
-
{:function => "
|
|
17
|
-
{:function => "
|
|
18
|
-
{:function => "
|
|
19
|
-
{:function => "
|
|
20
|
-
{:function => "
|
|
21
|
-
{:function => "
|
|
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
|
|
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 => "
|
|
153
|
-
{:function => "
|
|
154
|
-
{:function => "
|
|
155
|
-
{:function => "
|
|
156
|
-
{:function => "
|
|
157
|
-
{:function => "
|
|
158
|
-
{:function => "
|
|
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
|
|
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, :
|
|
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 => "
|
|
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
|
-
|
|
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
|
-
|
|
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
|