diff --git a/data/index.yaml b/data/index.yaml index 697e6a4..d49e90f 100644 --- a/data/index.yaml +++ b/data/index.yaml @@ -1,6 +1,7 @@ # Definition build list --- defs: + AT: ['at.yaml'] AU: ['au.yaml'] BR: ['br.yaml'] CA: ['ca.yaml', 'north_america_informal.yaml'] @@ -28,5 +29,5 @@ 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: ['cz.yaml', 'dk.yaml', 'de.yaml', 'el.yaml', 'es.yaml', 'fr.yaml', 'gb.yaml', 'ie.yaml', 'is.yaml', 'it.yaml', 'nl.yaml', 'no.yaml', 'pt.yaml'] + Europe: ['at.yaml', 'cz.yaml', 'dk.yaml', 'de.yaml', 'el.yaml', 'es.yaml', 'fr.yaml', 'gb.yaml', 'ie.yaml', 'is.yaml', 'it.yaml', 'nl.yaml', 'no.yaml', 'pt.yaml'] JP: ['jp.yaml'] diff --git a/lib/holidays/MANIFEST b/lib/holidays/MANIFEST index ee4eb7f..e453b17 100644 --- a/lib/holidays/MANIFEST +++ b/lib/holidays/MANIFEST @@ -1,12 +1,14 @@ ==== Regional definitions The following definition files are included in this installation: +* holidays/at * holidays/au * holidays/br * holidays/ca * holidays/cz * holidays/de * holidays/dk +* holidays/el * holidays/es * holidays/europe * holidays/fi diff --git a/lib/holidays/europe.rb b/lib/holidays/europe.rb index 21031e9..cf7460f 100644 --- a/lib/holidays/europe.rb +++ b/lib/holidays/europe.rb @@ -2,7 +2,7 @@ module Holidays # This file is generated by the Ruby Holiday gem. # - # Definitions loaded: data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/nl.yaml, data/no.yaml, data/pt.yaml + # Definitions loaded: data/at.yaml, data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/nl.yaml, data/no.yaml, data/pt.yaml # # To use the definitions in this file, load them right after you load the # Holiday gem: @@ -12,10 +12,11 @@ module Holidays # # More definitions are available at http://code.dunae.ca/holidays. module Europe # :nodoc: - DEFINED_REGIONS = [:cz, :dk, :no, :de, :de_bw, :de_by, :de_nw, :de_rp, :de_sl, :de_sn, :de_he, :de_st, :de_bb, :de_mv, :de_th, :el, :es, :es_m, :es_cn, :es_cm, :es_pv, :es_ct, :es_na, :es_v, :es_vc, :es_mu, :es_lo, :es_ib, :es_ga, :es_an, :es_ce, :es_o, :es_ex, :es_ar, :es_cl, :fr, :gb, :ie, :je, :gb_jsy, :gg, :gb_gsy, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :im, :gb_iom, :gb_con, :is, :it, :nl, :pt] + DEFINED_REGIONS = [:at, :de_bw, :de_by, :de_nw, :de_rp, :de_sl, :de, :de_he, :cz, :dk, :no, :de_sn, :de_st, :de_bb, :de_mv, :de_th, :el, :es, :es_m, :es_cn, :es_cm, :es_pv, :es_ct, :es_na, :es_v, :es_vc, :es_mu, :es_lo, :es_ib, :es_ga, :es_an, :es_ce, :es_o, :es_ex, :es_ar, :es_cl, :fr, :gb, :ie, :je, :gb_jsy, :gg, :gb_gsy, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :im, :gb_iom, :gb_con, :is, :it, :nl, :pt] HOLIDAYS_BY_MONTH = { - 5 => [{:mday => 1, :name => "Svátek práce", :regions => [:cz]}, + 5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]}, + {:mday => 1, :name => "Svátek práce", :regions => [:cz]}, {:mday => 8, :name => "Den vítězství", :regions => [:cz]}, {:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]}, {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]}, @@ -38,7 +39,11 @@ module Holidays {:mday => 1, :name => "1. mai", :regions => [:no]}, {:mday => 17, :name => "17. mai", :regions => [:no]}, {:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}], - 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]}, + 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:at, :de]}, + {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:at, :de]}, + {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:at, :de]}, + {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:at, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl]}, + {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]}, {:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]}, {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk, :no]}, {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]}, @@ -50,10 +55,6 @@ module Holidays {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pinsedag", :regions => [:dk]}, {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "2. Pinsedag", :regions => [:dk]}, {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:de]}, - {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:de]}, - {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:de]}, - {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:de]}, - {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl]}, {:function => lambda { |year| Holidays.orthodox_easter(year)-2 }, :function_id => "orthodox_easter(year)-2", :name => "Μεγάλη Παρασκευή", :regions => [:el]}, {:function => lambda { |year| Holidays.orthodox_easter(year)-1 }, :function_id => "orthodox_easter(year)-1", :name => "Μεγάλο Σάββατο", :regions => [:el]}, {:function => lambda { |year| Holidays.orthodox_easter(year) }, :function_id => "orthodox_easter(year)", :name => "Κυριακή του Πάσχα", :regions => [:el]}, @@ -98,9 +99,9 @@ module Holidays {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:pt]}, {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:pt]}, {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpo de Deus", :regions => [:pt]}], - 11 => [{:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]}, + 11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at, :de_bw, :de_by, :de_nw, :de_rp, :de_sl]}, + {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]}, {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]}, - {:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]}, {:function => lambda { |year| Holidays.de_buss_und_bettag(year) }, :function_id => "de_buss_und_bettag(year)", :name => "Buß- und Bettag", :regions => [:de_sn]}, {:mday => 1, :name => "Todos los Santos", :regions => [:es]}, {:mday => 1, :name => "Toussaint", :regions => [:fr]}, @@ -119,9 +120,10 @@ module Holidays {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]}, {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]}, {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}], - 1 => [{:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]}, + 1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at, :de]}, + {:mday => 6, :name => "Heilige Drei K√∂nige", :regions => [:at]}, + {:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]}, {:mday => 1, :name => "Nytårsdag", :regions => [:dk]}, - {:mday => 1, :name => "Neujahrstag", :regions => [:de]}, {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]}, {:mday => 1, :name => "Πρωτοχρονιά", :regions => [:el]}, {:mday => 6, :name => "Θεοφάνεια", :regions => [:el]}, @@ -138,15 +140,16 @@ module Holidays {:mday => 1, :name => "Nieuwjaar", :regions => [:nl]}, {:mday => 1, :name => "Nyttårsdag", :regions => [:no]}, {:mday => 1, :name => "Ano Novo", :regions => [:pt]}], - 12 => [{:mday => 24, :name => "Štědrý den", :regions => [:cz]}, + 12 => [{:mday => 8, :name => "Mari√§ Empf√§ngnis", :regions => [:at]}, + {:mday => 25, :name => "1. Weihnachtstag", :regions => [:at, :de]}, + {:mday => 26, :name => "2. Weihnachtstag", :regions => [:at, :de]}, + {:mday => 24, :name => "Štědrý den", :regions => [:cz]}, {:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]}, {:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]}, {:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]}, {:mday => 24, :name => "Juleaftensdag", :regions => [:dk]}, {:mday => 25, :name => "1. juledag", :regions => [:dk, :no]}, {:mday => 26, :name => "2. juledag", :regions => [:dk, :no]}, - {:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]}, - {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]}, {:mday => 25, :name => "Χριστούγεννα", :regions => [:el]}, {:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:el]}, {:mday => 6, :name => "Día de la Constitución", :regions => [:es]}, @@ -181,7 +184,8 @@ module Holidays {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]}], 2 => [{:mday => 28, :name => "Día de Andalucía", :regions => [:es_an]}, {:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}], - 8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]}, + 8 => [{:mday => 15, :name => "Mari√§ Himmelfahrt", :regions => [:at]}, + {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]}, {:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:el]}, {:mday => 15, :name => "Asunción", :regions => [:es]}, {:mday => 15, :name => "Assomption", :regions => [:fr]}, @@ -209,7 +213,8 @@ module Holidays {:mday => 25, :name => "Festa della Liberazione", :regions => [:it]}, {:mday => 30, :name => "Koninginnedag", :regions => [:nl]}, {:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}], - 10 => [{:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]}, + 10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]}, + {:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]}, {:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]}, {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]}, {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:el]}, diff --git a/test/defs/test_defs_europe.rb b/test/defs/test_defs_europe.rb index ff45689..b074e26 100644 --- a/test/defs/test_defs_europe.rb +++ b/test/defs/test_defs_europe.rb @@ -3,10 +3,24 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper' # This file is generated by the Ruby Holiday gem. # -# Definitions loaded: data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/nl.yaml, data/no.yaml, data/pt.yaml +# Definitions loaded: data/at.yaml, data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/nl.yaml, data/no.yaml, data/pt.yaml class EuropeDefinitionTests < Test::Unit::TestCase # :nodoc: def test_europe +{Date.civil(2009,1,1) => 'Neujahrstag', + Date.civil(2009,4,13) => 'Ostermontag', + Date.civil(2009,5,1) => 'Staatsfeiertag', + Date.civil(2009,5,21) => 'Christi Himmelfahrt', + Date.civil(2009,6,1) => 'Pfingstmontag', + Date.civil(2009,10,26) => 'Nationalfeiertag', + Date.civil(2009,12,25) => '1. Weihnachtstag', + Date.civil(2009,12,26) => '2. Weihnachtstag'}.each do |date, name| + assert_equal name, (Holidays.on(date, :at, :informal)[0] || {})[:name] +end + +assert !Date.civil(2010,5,8).holiday?(:at), '2010-05-08 is not a holiday in Austria' + + {Date.civil(2010,1,1) => 'Den obnovy samostatného českého státu', Date.civil(2010,4,5) => 'Velikonoční pondělí', Date.civil(2010,5,1) => 'Svátek práce',