From e6003bcba766168e3fd99032b61bd2a719ea39a8 Mon Sep 17 00:00:00 2001 From: David Battersby Date: Fri, 17 May 2024 13:58:16 +0400 Subject: [PATCH] DEV: add calendar definitions for UAE (#568) Adding a new calendar region for UAE, along with non lunar based dates. --- vendor/holidays/definitions/ae.yaml | 73 +++++++++++++++++++ vendor/holidays/definitions/index.yaml | 1 + .../lib/generated_definitions/REGIONS.rb | 4 +- .../holidays/lib/generated_definitions/ae.rb | 31 ++++++++ vendor/holidays/test/defs/test_defs_ae.rb | 19 +++++ 5 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 vendor/holidays/definitions/ae.yaml create mode 100644 vendor/holidays/lib/generated_definitions/ae.rb create mode 100644 vendor/holidays/test/defs/test_defs_ae.rb diff --git a/vendor/holidays/definitions/ae.yaml b/vendor/holidays/definitions/ae.yaml new file mode 100644 index 000000000..43f8d2860 --- /dev/null +++ b/vendor/holidays/definitions/ae.yaml @@ -0,0 +1,73 @@ +# UAE holiday definitions for the Holidays gem! + +# Dates not added yet (based on Islamic Calendar and determined by moon sightings): +# Eid al-Fitr +# Arafat Day +# Eid al-Adha +# Islamic New Year +# Prophet Muhammad's Birthday + +# Source: +# http://publicholidays.ae/ + +months: + 1: + - name: New Year's Day + regions: [ae] + mday: 1 + observed: to_weekday_if_weekend(date) + 6: + - name: Eid al-Adha + regions: [ae] + mday: 17 + year_ranges: + limited: [2024] + - name: Eid al-Adha (Day 2) + regions: [ae] + mday: 18 + year_ranges: + limited: [2024] + - name: Eid al-Adha (Day 3) + regions: [ae] + mday: 19 + year_ranges: + limited: [2024] + 12: + - name: Commemoration Day + regions: [ae] + mday: 1 + observed: to_weekday_if_weekend(date) + - name: National Day + regions: [ae] + mday: 2 + observed: to_weekday_if_weekend(date) + - name: National Day (Day 2) + regions: [ae] + mday: 3 + observed: to_weekday_if_weekend(date) + +tests: + - given: + date: '2024-01-01' + regions: ["ae"] + options: ["informal"] + expect: + name: "New Year's Day" + - given: + date: '2024-12-01' + regions: ["ae"] + options: ["informal"] + expect: + name: "Commemoration Day" + - given: + date: '2024-12-02' + regions: ["ae"] + options: ["informal"] + expect: + name: "National Day" + - given: + date: '2024-12-03' + regions: ["ae"] + options: ["informal"] + expect: + name: "National Day (Day 2)" diff --git a/vendor/holidays/definitions/index.yaml b/vendor/holidays/definitions/index.yaml index faf03eb2d..e7ad21f71 100644 --- a/vendor/holidays/definitions/index.yaml +++ b/vendor/holidays/definitions/index.yaml @@ -1,6 +1,7 @@ # Definition build list --- defs: + AE: ['ae.yaml'] AR: ['ar.yaml'] AT: ['at.yaml'] AU: ['au.yaml'] diff --git a/vendor/holidays/lib/generated_definitions/REGIONS.rb b/vendor/holidays/lib/generated_definitions/REGIONS.rb index b23745f88..f2c4c9590 100644 --- a/vendor/holidays/lib/generated_definitions/REGIONS.rb +++ b/vendor/holidays/lib/generated_definitions/REGIONS.rb @@ -1,6 +1,6 @@ # encoding: utf-8 module Holidays - 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, :br_spcapital, :br_sp, :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_by_cath, :de_by_augsburg, :de_bb, :de_mv, :de_th, :de_hb, :de_hh, :de_ni, :de_sh, :ecbtarget, :ee, :el, :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, :gh, :hr, :hk, :hu, :id, :ie, :in, :in_gj, :in_tn, :in_ka, :in_mh, :in_rj, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :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, :sa, :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_oh, :us_or, :us_sd, :us_wy, :us_nv, :us_mt, :us_ny, :us_pa, :us_nm, :us_ia, :us_il, :us_ks, :us_mi, :us_mn, :us_nh, :us_ok, :us_wa, :us_wi, :unitednations, :ups, :za, :ve, :sk, :si, :jp, :vi, :sg, :my, :th, :ng, :ke] + REGIONS = [:ae, :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, :br_spcapital, :br_sp, :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_by_cath, :de_by_augsburg, :de_bb, :de_mv, :de_th, :de_hb, :de_hh, :de_ni, :de_sh, :ecbtarget, :ee, :el, :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, :gh, :hr, :hk, :hu, :id, :ie, :in, :in_gj, :in_tn, :in_ka, :in_mh, :in_rj, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :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, :sa, :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_oh, :us_or, :us_sd, :us_wy, :us_nv, :us_mt, :us_ny, :us_pa, :us_nm, :us_ia, :us_il, :us_ks, :us_mi, :us_mn, :us_nh, :us_ok, :us_wa, :us_wi, :unitednations, :ups, :za, :ve, :sk, :si, :jp, :vi, :sg, :my, :th, :ng, :ke] - 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, :br_spcapital=>:br, :br_sp=>: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_by_cath=>:de, :de_by_augsburg=>:de, :de_bb=>:de, :de_mv=>:de, :de_th=>:de, :de_hb=>:de, :de_hh=>:de, :de_ni=>:de, :de_sh=>:de, :ecbtarget=>:ecbtarget, :ee=>:ee, :el=>:el, :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, :gh=>:gh, :hr=>:hr, :hk=>:hk, :hu=>:hu, :id=>:id, :ie=>:ie, :in=>:in, :in_gj=>:in, :in_tn=>:in, :in_ka=>:in, :in_mh=>:in, :in_rj=>: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, :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, :sa=>:sa, :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_oh=>:us, :us_or=>:us, :us_sd=>:us, :us_wy=>:us, :us_nv=>:us, :us_mt=>:us, :us_ny=>:us, :us_pa=>:us, :us_nm=>:us, :us_ia=>:us, :us_il=>:us, :us_ks=>:us, :us_mi=>:us, :us_mn=>:us, :us_nh=>:us, :us_ok=>:us, :us_wa=>:us, :us_wi=>: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, :ke=>:ke} + PARENT_REGION_LOOKUP = {:ae=>:ae, :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, :br_spcapital=>:br, :br_sp=>: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_by_cath=>:de, :de_by_augsburg=>:de, :de_bb=>:de, :de_mv=>:de, :de_th=>:de, :de_hb=>:de, :de_hh=>:de, :de_ni=>:de, :de_sh=>:de, :ecbtarget=>:ecbtarget, :ee=>:ee, :el=>:el, :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, :gh=>:gh, :hr=>:hr, :hk=>:hk, :hu=>:hu, :id=>:id, :ie=>:ie, :in=>:in, :in_gj=>:in, :in_tn=>:in, :in_ka=>:in, :in_mh=>:in, :in_rj=>: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, :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, :sa=>:sa, :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_oh=>:us, :us_or=>:us, :us_sd=>:us, :us_wy=>:us, :us_nv=>:us, :us_mt=>:us, :us_ny=>:us, :us_pa=>:us, :us_nm=>:us, :us_ia=>:us, :us_il=>:us, :us_ks=>:us, :us_mi=>:us, :us_mn=>:us, :us_nh=>:us, :us_ok=>:us, :us_wa=>:us, :us_wi=>: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, :ke=>:ke} end diff --git a/vendor/holidays/lib/generated_definitions/ae.rb b/vendor/holidays/lib/generated_definitions/ae.rb new file mode 100644 index 000000000..dcbd3ee6f --- /dev/null +++ b/vendor/holidays/lib/generated_definitions/ae.rb @@ -0,0 +1,31 @@ +# encoding: utf-8 +module Holidays + # This file is generated by the Ruby Holidays gem. + # + # Definitions loaded: definitions/ae.yaml + # + # All the definitions are available at https://github.com/holidays/holidays + module AE # :nodoc: + def self.defined_regions + [:ae] + end + + def self.holidays_by_month + { + 1 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ae]}], + 6 => [{:mday => 17, :year_ranges => { :limited => [2024] },:name => "Eid al-Adha", :regions => [:ae]}, + {:mday => 18, :year_ranges => { :limited => [2024] },:name => "Eid al-Adha (Day 2)", :regions => [:ae]}, + {:mday => 19, :year_ranges => { :limited => [2024] },:name => "Eid al-Adha (Day 3)", :regions => [:ae]}], + 12 => [{:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Commemoration Day", :regions => [:ae]}, + {:mday => 2, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "National Day", :regions => [:ae]}, + {:mday => 3, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "National Day (Day 2)", :regions => [:ae]}] + } + end + + def self.custom_methods + { + + } + end + end +end diff --git a/vendor/holidays/test/defs/test_defs_ae.rb b/vendor/holidays/test/defs/test_defs_ae.rb new file mode 100644 index 000000000..32e356de4 --- /dev/null +++ b/vendor/holidays/test/defs/test_defs_ae.rb @@ -0,0 +1,19 @@ +# encoding: utf-8 +require File.expand_path(File.dirname(__FILE__)) + '/../test_helper' + +# This file is generated by the Ruby Holiday gem. +# +# Definitions loaded: definitions/ae.yaml +class AeDefinitionTests < Test::Unit::TestCase # :nodoc: + + def test_ae + assert_equal "New Year's Day", (Holidays.on(Date.civil(2024, 1, 1), [:ae], [:informal])[0] || {})[:name] + + assert_equal "Commemoration Day", (Holidays.on(Date.civil(2024, 12, 1), [:ae], [:informal])[0] || {})[:name] + + assert_equal "National Day", (Holidays.on(Date.civil(2024, 12, 2), [:ae], [:informal])[0] || {})[:name] + + assert_equal "National Day (Day 2)", (Holidays.on(Date.civil(2024, 12, 3), [:ae], [:informal])[0] || {})[:name] + + end +end