Skip to content

Commit

Permalink
Merge pull request #150 from ptrimble/thekazak_bulgarian_holidays
Browse files Browse the repository at this point in the history
Bulgarian Holidays (latin and cyrillic)
  • Loading branch information
ppeble committed Dec 20, 2015
2 parents 07812e1 + ac45f82 commit 0c8fda4
Show file tree
Hide file tree
Showing 14 changed files with 419 additions and 66 deletions.
121 changes: 121 additions & 0 deletions definitions/bg.yaml
@@ -0,0 +1,121 @@
# Bulgaria holiday definitions for the Ruby Holiday gem.
#
# Updated: 2015-04-01.
# Source: http://en.wikipedia.org/wiki/Public_holidays_in_Bulgaria
---
months:
0:
- name: Good Friday
regions: [bg_en]
function: orthodox_easter_julian(year)-2
- name: Разпети петък
regions: [bg_bg]
function: orthodox_easter_julian(year)-2
- name: Holy Saturday
regions: [bg_en]
function: orthodox_easter_julian(year)-1
- name: Велика събота
regions: [bg_bg]
function: orthodox_easter_julian(year)-1
- name: Easter Sunday
regions: [bg_en]
function: orthodox_easter_julian(year)
- name: Възкресение Христово. Великден
regions: [bg_bg]
function: orthodox_easter_julian(year)
- name: Easter Monday
regions: [bg_en]
function: orthodox_easter_julian(year)+1
- name: Възкресение Христово. Великден
regions: [bg_bg]
function: orthodox_easter_julian(year)+1
1:
- name: New Year's Day
regions: [bg_en]
mday: 1
- name: Нова година
regions: [bg_bg]
mday: 1
3:
- name: Liberation Day
regions: [bg_en]
mday: 3
- name: Освобожението на България
regions: [bg_bg]
mday: 3
5:
- name: Labour Day
regions: [bg_en]
mday: 1
- name: Ден на труда
regions: [bg_bg]
mday: 1
- name: St. George's Day
regions: [bg_en]
mday: 6
- name: Гергьовден. Ден на храбростта
regions: [bg_bg]
mday: 6
- name: Slavic Literacy Day
regions: [bg_en]
mday: 24
- name: Ден на славянската писменост
regions: [bg_bg]
mday: 24
9:
- name: Unification Day
regions: [bg_en]
mday: 6
- name: Ден на Съединението
regions: [bg_bg]
mday: 6
- name: The Independence Day
regions: [bg_en]
mday: 22
- name: Ден на Независимостта
regions: [bg_bg]
mday: 22
11:
- name: Revival Leader's Day
regions: [bg_en]
mday: 1
- name: Ден на Народните будители
regions: [bg_bg]
mday: 1
12:
- name: Christmas Eve
regions: [bg_en]
mday: 24
- name: Бъдни вечер
regions: [bg_bg]
mday: 24
- name: Christmas
regions: [bg_en]
mday: 25
- name: Рождество Христово. Коледа
regions: [bg_bg]
mday: 25
- name: Christmas
regions: [bg_en]
mday: 26
- name: Рождество Христово. Коледа
regions: [bg_bg]
mday: 26
tests: |
{Date.civil(2015,1,1) => "New Year's Day",
Date.civil(2015,3,3) => "Liberation Day",
Date.civil(2015,3,28) => "Good Friday",
Date.civil(2015,3,29) => "Holy Saturday",
Date.civil(2015,3,30) => "Easter Sunday",
Date.civil(2015,3,31) => "Easter Monday",
Date.civil(2015,5,1) => "Labour Day",
Date.civil(2015,5,6) => "St. George's Day",
Date.civil(2015,5,24) => "Slavic Literacy Day",
Date.civil(2015,9,6) => "Unification Day",
Date.civil(2015,9,22) => "The Independence Day",
Date.civil(2015,11,1) => "Revival Leader's Day",
Date.civil(2015,12,24) => "Christmas Eve",
Date.civil(2015,12,25) => "Christmas",
Date.civil(2015,12,26) => "Christmas"}.each do |date, name|
assert_equal name, (Holidays.on(date, :bg_en)[0] || {})[:name]
end
3 changes: 2 additions & 1 deletion definitions/index.yaml
Expand Up @@ -6,6 +6,7 @@ defs:
AU: ['au.yaml']
BE: ['be.yaml']
BR: ['br.yaml']
BG: ['bg.yaml']
CA: ['ca.yaml', 'north_america_informal.yaml']
CH: ['ch.yaml']
CL: ['cl.yaml']
Expand Down Expand Up @@ -46,7 +47,7 @@ defs:
ZA: ['za.yaml']
North_America: ['ca.yaml', 'mx.yaml', 'us.yaml', 'north_america_informal.yaml']
Scandinavia: ['dk.yaml', 'is.yaml', 'no.yaml', 'se.yaml', 'fi.yaml']
Europe: ['at.yaml', 'be.yaml', 'ch.yaml', 'cz.yaml', 'dk.yaml', 'de.yaml', 'el.yaml', 'es.yaml', 'fr.yaml', 'gb.yaml', 'hr.yaml', 'hu.yaml', 'ie.yaml', 'is.yaml', 'it.yaml', 'li.yaml', 'lt.yaml', 'nl.yaml', 'no.yaml', 'pl.yaml', 'pt.yaml', 'ro.yaml', 'sk.yaml', 'si.yaml']
Europe: ['at.yaml', 'be.yaml', 'ch.yaml', 'cz.yaml', 'dk.yaml', 'de.yaml', 'el.yaml', 'es.yaml', 'fr.yaml', 'gb.yaml', 'hr.yaml', 'hu.yaml', 'ie.yaml', 'is.yaml', 'it.yaml', 'li.yaml', 'lt.yaml', 'nl.yaml', 'no.yaml', 'pl.yaml', 'pt.yaml', 'ro.yaml', 'sk.yaml', 'si.yaml', 'bg.yaml']
JP: ['jp.yaml']
VE: ['ve.yaml']
VI: ['vi.yaml']
Expand Down
1 change: 1 addition & 0 deletions lib/generated_definitions/MANIFEST
Expand Up @@ -6,6 +6,7 @@ The following definition files are included in this installation:
* generated_definitions/at
* generated_definitions/au
* generated_definitions/be
* generated_definitions/bg
* generated_definitions/br
* generated_definitions/ca
* generated_definitions/ch
Expand Down
2 changes: 1 addition & 1 deletion lib/generated_definitions/REGIONS.rb
@@ -1,4 +1,4 @@
# encoding: utf-8
module Holidays
REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_tas_south, :au_wa, :au_tas, :au_qld_cairns, :au_qld_brisbane, :au_tas_north, :au_vic_melbourne, :be, :br, :ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_ns, :ca_pe, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_nb, :ca_yk, :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, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_st, :de_by_aux, :de_bb, :de_mv, :de_sn, :de_th, :ecb_target, :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, :federal_reserve, :fedex, :fi, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :ma, :mx, :mx_pue, :us, :ca, :nerc, :nl, :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, :ph, :pl, :pt, :ro, :se, :us, :us_dc, :us_ca, :ca, :united_nations, :ups, :za, :ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_ns, :ca_pe, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_nb, :ca_yk, :mx, :mx_pue, :us, :us_dc, :us_ca, :dk, :is, :no, :se, :fi, :at, :be, :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, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_st, :de_by_aux, :de_bb, :de_mv, :de_sn, :de_th, :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, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :nl, :no, :pl, :pt, :ro, :sk, :si, :jp, :ve, :vi, :sk, :si, :sg]
REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_tas_south, :au_wa, :au_tas, :au_qld_cairns, :au_qld_brisbane, :au_tas_north, :au_vic_melbourne, :be, :br, :bg_en, :bg_bg, :ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_ns, :ca_pe, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_nb, :ca_yk, :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, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_st, :de_by_aux, :de_bb, :de_mv, :de_sn, :de_th, :ecb_target, :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, :federal_reserve, :fedex, :fi, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :ma, :mx, :mx_pue, :us, :ca, :nerc, :nl, :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, :ph, :pl, :pt, :ro, :se, :us, :us_dc, :us_ca, :ca, :united_nations, :ups, :za, :ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_ns, :ca_pe, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_nb, :ca_yk, :mx, :mx_pue, :us, :us_dc, :us_ca, :dk, :is, :no, :se, :fi, :at, :be, :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, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_st, :de_by_aux, :de_bb, :de_mv, :de_sn, :de_th, :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, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :nl, :no, :pl, :pt, :ro, :sk, :si, :bg_en, :bg_bg, :jp, :ve, :vi, :sk, :si, :sg]
end
58 changes: 58 additions & 0 deletions lib/generated_definitions/bg.rb
@@ -0,0 +1,58 @@
# encoding: utf-8
module Holidays
# This file is generated by the Ruby Holidays gem.
#
# Definitions loaded: definitions/bg.yaml
#
# To use the definitions in this file, load it right after you load the
# Holiday gem:
#
# require 'holidays'
# require 'generated_definitions/bg'
#
# All the definitions are available at https://github.com/alexdunae/holidays
module BG # :nodoc:
def self.defined_regions
[:bg_en, :bg_bg]
end

def self.holidays_by_month
{
0 => [{:function => lambda { |year| Holidays.orthodox_easter_julian(year)-2 }, :function_id => "orthodox_easter_julian(year)-2", :name => "Good Friday", :regions => [:bg_en]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year)-2 }, :function_id => "orthodox_easter_julian(year)-2", :name => "Разпети петък", :regions => [:bg_bg]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year)-1 }, :function_id => "orthodox_easter_julian(year)-1", :name => "Holy Saturday", :regions => [:bg_en]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year)-1 }, :function_id => "orthodox_easter_julian(year)-1", :name => "Велика събота", :regions => [:bg_bg]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year) }, :function_id => "orthodox_easter_julian(year)", :name => "Easter Sunday", :regions => [:bg_en]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year) }, :function_id => "orthodox_easter_julian(year)", :name => "Възкресение Христово. Великден", :regions => [:bg_bg]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year)+1 }, :function_id => "orthodox_easter_julian(year)+1", :name => "Easter Monday", :regions => [:bg_en]},
{:function => lambda { |year| Holidays.orthodox_easter_julian(year)+1 }, :function_id => "orthodox_easter_julian(year)+1", :name => "Възкресение Христово. Великден", :regions => [:bg_bg]}],
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:bg_en]},
{:mday => 1, :name => "Нова година", :regions => [:bg_bg]}],
3 => [{:mday => 3, :name => "Liberation Day", :regions => [:bg_en]},
{:mday => 3, :name => "Освобожението на България", :regions => [:bg_bg]}],
5 => [{:mday => 1, :name => "Labour Day", :regions => [:bg_en]},
{:mday => 1, :name => "Ден на труда", :regions => [:bg_bg]},
{:mday => 6, :name => "St. George's Day", :regions => [:bg_en]},
{:mday => 6, :name => "Гергьовден. Ден на храбростта", :regions => [:bg_bg]},
{:mday => 24, :name => "Slavic Literacy Day", :regions => [:bg_en]},
{:mday => 24, :name => "Ден на славянската писменост", :regions => [:bg_bg]}],
9 => [{:mday => 6, :name => "Unification Day", :regions => [:bg_en]},
{:mday => 6, :name => "Ден на Съединението", :regions => [:bg_bg]},
{:mday => 22, :name => "The Independence Day", :regions => [:bg_en]},
{:mday => 22, :name => "Ден на Независимостта", :regions => [:bg_bg]}],
11 => [{:mday => 1, :name => "Revival Leader's Day", :regions => [:bg_en]},
{:mday => 1, :name => "Ден на Народните будители", :regions => [:bg_bg]}],
12 => [{:mday => 24, :name => "Christmas Eve", :regions => [:bg_en]},
{:mday => 24, :name => "Бъдни вечер", :regions => [:bg_bg]},
{:mday => 25, :name => "Christmas", :regions => [:bg_en]},
{:mday => 25, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]},
{:mday => 26, :name => "Christmas", :regions => [:bg_en]},
{:mday => 26, :name => "Рождество Христово. Коледа", :regions => [:bg_bg]}]
}
end
end


end

Holidays.merge_defs(Holidays::BG.defined_regions, Holidays::BG.holidays_by_month)

0 comments on commit 0c8fda4

Please sign in to comment.