Added support for type: in bin/build_defs.rb

master
Alex Dunae 2007-11-24 20:50:20 +00:00
parent 02e323ce9c
commit 4a43f1b30a
13 changed files with 109 additions and 67 deletions

View File

@ -24,7 +24,7 @@ def parse_holiday_defs(module_name, files)
exists = false
rules_by_month[month].each do |ex|
if ex['name'] == rule['name'] and ex['wday'] == rule['wday'] and ex['mday'] == rule['mday'] and ex['week'] == rule['week']
if ex['name'] == rule['name'] and ex['wday'] == rule['wday'] and ex['mday'] == rule['mday'] and ex['week'] == rule['week'] and ex['function'] == rule['function']
ex['regions'] << rule['regions'].flatten
exists = true
end
@ -60,6 +60,10 @@ def parse_holiday_defs(module_name, files)
str << ":wday => #{rule['wday']}, :week => #{rule['week']}, "
end
if rule['type']
str << ":type => :#{rule['type']}, "
end
# shouldn't allow the same region twice
str << ":name => \"#{rule['name']}\", :regions => [:" + rule['regions'].uniq.join(', :') + "]}"
rule_strings << str

View File

@ -25,7 +25,7 @@ months:
- name: Neujahrstag
regions: [de]
mday: 1
- name: Heilige Drei Könige
- name: Heilige Drei Könige
regions: [de_bw, de_by]
mday: 6
5:
@ -36,7 +36,7 @@ months:
regions: [de]
mday: 8
8:
- name: Mariä Himmelfahrt
- name: Mariä Himmelfahrt
regions: [de_by]
mday: 15
10:

View File

@ -3,6 +3,7 @@
# Updated: 2008-11-23.
# Sources:
# - http://en.wikipedia.org/wiki/Public_holidays_in_the_Netherlands
# - http://www.buyusa.gov/netherlands/en/dutch_holidays.html
---
months:
0:
@ -17,7 +18,7 @@ months:
function: lambda { |year| easter(year)+1 }
- name: Hemelvaartsdag
regions: [nl]
function: lambda { |year| easter(year)+40 }
function: lambda { |year| easter(year)+39 }
- name: Pinksteren
regions: [nl]
function: lambda { |year| easter(year)+49 }
@ -43,6 +44,7 @@ months:
- name: Sinterklaas
regions: [nl]
mday: 5
type: informal
- name: Kerstmis
regions: [nl]
mday: 25

View File

@ -17,9 +17,10 @@ module Holidays
5 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_qld, :au_nt]}],
0 => [{:function => lambda { |year| easter(year)-2 }, :name => "Good Friday", :regions => [:au]},
{:function => lambda { |year| easter(year)-1 }, :name => "Easter Saturday", :regions => [:au]},
{:function => lambda { |year| easter(year)+1 }, :name => "Easter Monday", :regions => [:au, :au_tas]}],
{:function => lambda { |year| easter(year)+1 }, :name => "Easter Monday", :regions => [:au]},
{:function => lambda { |year| easter(year)+2 }, :name => "Easter Monday", :regions => [:au_tas]}],
6 => [{:wday => 1, :week => 2, :name => "Queen's Birthday", :regions => [:au]},
{:mday => 6, :name => "Queensland Day", :regions => [:au_qld]}],
{:mday => 6, :type => :informal, :name => "Queensland Day", :regions => [:au_qld]}],
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:au]},
{:mday => 26, :name => "Australia Day", :regions => [:au]}],
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:au]},

View File

@ -16,7 +16,7 @@ module Holidays
HOLIDAYS_BY_MONTH = {
5 => [{:function => lambda { |year| ca_victoria_day(year) }, :name => "Victoria Day", :regions => [:ca]},
{:function => lambda { |year| ca_victoria_day(year) }, :name => "National Patriotes Day", :regions => [:ca_qc]},
{:wday => 0, :week => 3, :name => "Father's Day", :regions => [:us, :ca]}],
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
0 => [{:function => lambda { |year| easter(year)-2 }, :name => "Good Friday", :regions => [:ca, :us]},
{:function => lambda { |year| easter(year)+1 }, :name => "Easter Monday", :regions => [:ca_qc]}],
11 => [{:mday => 11, :name => "Rememberance Day", :regions => [:ca]}],
@ -32,8 +32,8 @@ module Holidays
{:mday => 9, :name => "Nunavut Day", :regions => [:ca_nu]}],
2 => [{:wday => 1, :week => 3, :name => "Family Day", :regions => [:ca_ab, :ca_on, :ca_sk]},
{:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
{:mday => 2, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :name => "Valentine's Day", :regions => [:us, :ca]}],
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
8 => [{:wday => 1, :week => 1, :name => "BC Day", :regions => [:ca_bc]},
{:wday => 1, :week => 1, :name => "Saskatchewan Day", :regions => [:ca_sk]},
{:wday => 1, :week => 1, :name => "Heritage Day", :regions => [:ca_ab]},
@ -41,12 +41,12 @@ module Holidays
{:wday => 1, :week => 1, :name => "Civic Holiday", :regions => [:ca_on]},
{:wday => 1, :week => 3, :name => "Discovery Day", :regions => [:ca_yk]}],
3 => [{:mday => 23, :name => "St. George's Day", :regions => [:ca_nf]},
{:mday => 17, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
9 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:ca]}],
4 => [{:mday => 1, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :name => "Earth Day", :regions => [:us, :ca]}],
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca]},
{:mday => 31, :name => "Halloween", :regions => [:us, :ca]}]
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
}
# Get the date of Easter in a given year.

View File

@ -15,8 +15,8 @@ module Holidays
HOLIDAYS_BY_MONTH = {
5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
{:mday => 5, :name => "Danmarks befrielse", :regions => [:dk]}],
0 => [{:function => lambda { |year| easter(year)-49 }, :name => "Fastelavn", :regions => [:dk]},
{:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]}],
0 => [{:function => lambda { |year| easter(year)-49 }, :type => :informal, :name => "Fastelavn", :regions => [:dk]},
{:function => lambda { |year| easter(year)-7 }, :name => "Palmesøndag", :regions => [:dk]},
{:function => lambda { |year| easter(year)-3 }, :name => "Skærtorsdag", :regions => [:dk]},
{:function => lambda { |year| easter(year)-2 }, :name => "Langfredag", :regions => [:dk]},
@ -26,18 +26,18 @@ module Holidays
{:function => lambda { |year| easter(year)+40 }, :name => "Kristi Himmelfartsdag", :regions => [:dk, :dk]},
{:function => lambda { |year| easter(year)+49 }, :name => "2. Pinsedag", :regions => [:dk]},
{:function => lambda { |year| easter(year)+50 }, :name => "Pinsedag", :regions => [:dk]}],
11 => [{:mday => 10, :name => "Mortensaften", :regions => [:dk]}],
11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]}],
6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
{:mday => 15, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
{:mday => 23, :name => "Sankt Hans aften", :regions => [:dk]}],
{:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
{:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]}],
1 => [{:mday => 1, :name => "Nytårsdag", :regions => [:dk]}],
12 => [{:mday => 13, :name => "Sankt Lucia", :regions => [:dk]},
12 => [{:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
{:mday => 24, :name => "Juleaftensdag", :regions => [:dk]},
{:mday => 25, :name => "1. juledag", :regions => [:dk]},
{:mday => 26, :name => "2. juledag", :regions => [:dk_]}],
4 => [{:mday => 1, :name => "1. april", :regions => [:dk]},
{:mday => 9, :name => "Danmarks besættelse", :regions => [:dk]},
{:mday => 16, :name => "Dronningens fødselsdag", :regions => [:dk]}]
4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
{:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
{:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]}]
}
# Get the date of Easter in a given year.

View File

@ -15,7 +15,7 @@ module Holidays
HOLIDAYS_BY_MONTH = {
5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
{:mday => 5, :name => "Danmarks befrielse", :regions => [:dk]},
{:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
{:mday => 8, :name => "Victoire 1945", :regions => [:de, :fr]},
{:mday => 1, :name => "Día del Trabajador", :regions => [:es]},
@ -26,14 +26,14 @@ module Holidays
{:wday => 1, :week => 1, :name => "May Day", :regions => [:gb, :ie]},
{:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
{:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]},
{:mday => 3, :name => "Sjómannadagurinn", :regions => [:is]},
{:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
{:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
{:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
{:mday => 4, :name => "Dodenherdenking", :regions => [:nl]},
{:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]},
{:mday => 1, :name => "Darba svetki", :regions => [:lv]},
{:mday => 4, :name => "Neatkaribas deklaracijas pasludinašanas diena", :regions => [:lv]}],
0 => [{:function => lambda { |year| easter(year)-49 }, :name => "Fastelavn", :regions => [:dk]},
0 => [{:function => lambda { |year| easter(year)-49 }, :type => :informal, :name => "Fastelavn", :regions => [:dk]},
{:function => lambda { |year| easter(year)-7 }, :name => "Palmesøndag", :regions => [:dk]},
{:function => lambda { |year| easter(year)-3 }, :name => "Skærtorsdag", :regions => [:dk]},
{:function => lambda { |year| easter(year)-2 }, :name => "Langfredag", :regions => [:dk]},
@ -69,13 +69,15 @@ module Holidays
{:function => lambda { |year| easter(year) }, :name => "Pasqua", :regions => [:it]},
{:function => lambda { |year| easter(year)+1 }, :name => "Lunedì dell'Angelo", :regions => [:it]},
{:function => lambda { |year| easter(year)-2 }, :name => "Goede Vrijdag", :regions => [:nl]},
{:function => lambda { |year| easter(year) }, :name => "Pasen", :regions => [:nl, :nl]},
{:function => lambda { |year| easter(year)+40 }, :name => "Hemelvaartsdag", :regions => [:nl]},
{:function => lambda { |year| easter(year)+49 }, :name => "Pinksteren", :regions => [:nl, :nl]},
{:function => lambda { |year| easter(year) }, :name => "Pasen", :regions => [:nl]},
{:function => lambda { |year| easter(year)+1 }, :name => "Pasen", :regions => [:nl]},
{:function => lambda { |year| easter(year)+39 }, :name => "Hemelvaartsdag", :regions => [:nl]},
{:function => lambda { |year| easter(year)+49 }, :name => "Pinksteren", :regions => [:nl]},
{:function => lambda { |year| easter(year)+50 }, :name => "Pinksteren", :regions => [:nl]},
{:function => lambda { |year| easter(year)-2 }, :name => "Liela Piektdiena", :regions => [:lv]},
{:function => lambda { |year| easter(year) }, :name => "Lieldienas", :regions => [:lv]},
{:function => lambda { |year| easter(year)+1 }, :name => "2. Lieldienas", :regions => [:lv]}],
11 => [{:mday => 10, :name => "Mortensaften", :regions => [:dk]},
11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
{:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
{:mday => 1, :name => "Todos los Santos", :regions => [:es]},
{:mday => 1, :name => "Toussaint", :regions => [:fr]},
@ -84,8 +86,8 @@ module Holidays
{:mday => 1, :name => "Ognissanti", :regions => [:it]},
{:mday => 18, :name => "Latvijas Republikas proklamešanas diena", :regions => [:lv]}],
6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
{:mday => 15, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
{:mday => 23, :name => "Sankt Hans aften", :regions => [:dk]},
{:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
{:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
{:mday => 9, :name => "Día de la Región de Murcia", :regions => [:es_mu]},
{:mday => 9, :name => "Día de La Rioja", :regions => [:es_lo]},
{:wday => 1, :week => 1, :name => "Labour Day/May Day", :regions => [:ie]},
@ -102,12 +104,12 @@ module Holidays
{:mday => 2, :name => "New Year's", :regions => [:gb_sct]},
{:mday => 1, :name => "Nýársdagur", :regions => [:is]},
{:mday => 6, :name => "Þrettándinn", :regions => [:is]},
{:mday => 19, :name => "Bóndadagur", :regions => [:is]},
{:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]},
{:mday => 1, :name => "Capodanno", :regions => [:it]},
{:mday => 6, :name => "Epifania", :regions => [:it]},
{:mday => 1, :name => "Nieuwjaar", :regions => [:nl]},
{:mday => 1, :name => "Jaunais Gads", :regions => [:lv]}],
12 => [{:mday => 13, :name => "Sankt Lucia", :regions => [:dk]},
12 => [{:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
{:mday => 24, :name => "Juleaftensdag", :regions => [:dk]},
{:mday => 25, :name => "1. juledag", :regions => [:dk]},
{:mday => 26, :name => "2. juledag", :regions => [:dk_]},
@ -128,7 +130,7 @@ module Holidays
{:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
{:mday => 25, :name => "Natale", :regions => [:it]},
{:mday => 26, :name => "Santo Stefano", :regions => [:it]},
{:mday => 5, :name => "Sinterklaas", :regions => [:nl]},
{:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
{:mday => 25, :name => "Kerstmis", :regions => [:nl]},
{:mday => 26, :name => "Kerstmis", :regions => [:nl]},
{:mday => 25, :name => "Ziemassvetki", :regions => [:lv]},
@ -139,7 +141,7 @@ module Holidays
{:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
{:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]}],
2 => [{:mday => 28, :name => "Día de Andalucía", :regions => [:es_an]},
{:mday => 18, :name => "Konudagur", :regions => [:is]}],
{:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}],
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by]},
{:mday => 15, :name => "Asunción", :regions => [:es]},
{:mday => 15, :name => "Assomption", :regions => [:fr]},
@ -156,9 +158,9 @@ module Holidays
{:mday => 8, :name => "Día de Asturias", :regions => [:es_o]},
{:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
{:mday => 11, :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]}],
4 => [{:mday => 1, :name => "1. april", :regions => [:dk]},
{:mday => 9, :name => "Danmarks besættelse", :regions => [:dk]},
{:mday => 16, :name => "Dronningens fødselsdag", :regions => [:dk]},
4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
{:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
{:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
{:mday => 23, :name => "San Jorge", :regions => [:es_ar, :es_cl]},
{:mday => 23, :name => "Día de Aragón", :regions => [:es_ar]},
{:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},

View File

@ -14,7 +14,7 @@ module Holidays
DEFINED_REGIONS = [:is]
HOLIDAYS_BY_MONTH = {
5 => [{:mday => 3, :name => "Sjómannadagurinn", :regions => [:is]},
5 => [{:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
{:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]}],
0 => [{:function => lambda { |year| easter(year)-48 }, :name => "Bolludagur", :regions => [:is]},
{:function => lambda { |year| easter(year)-47 }, :name => "Sprengidagur", :regions => [:is]},
@ -31,12 +31,12 @@ module Holidays
11 => [{:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
1 => [{:mday => 1, :name => "Nýársdagur", :regions => [:is]},
{:mday => 6, :name => "Þrettándinn", :regions => [:is]},
{:mday => 19, :name => "Bóndadagur", :regions => [:is]}],
{:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]}],
12 => [{:mday => 24, :name => "Jól", :regions => [:is]},
{:mday => 25, :name => "Jól", :regions => [:is]},
{:mday => 26, :name => "Jól", :regions => [:is]},
{:mday => 31, :name => "Gamlárskvöld", :regions => [:is]}],
2 => [{:mday => 18, :name => "Konudagur", :regions => [:is]}],
2 => [{:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}],
8 => [{:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]}]
}

View File

@ -16,7 +16,7 @@ module Holidays
HOLIDAYS_BY_MONTH = {
5 => [{:mday => 1, :name => "D\xC3\xADa del Trabajo", :regions => [:mx]},
{:mday => 5, :name => "La Batalla de Puebla", :regions => [:mx]},
{:wday => 0, :week => 3, :name => "Father's Day", :regions => [:us, :ca]}],
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
0 => [{:function => lambda { |year| easter(year)-3 }, :name => "Good Thursday", :regions => [:mx]},
{:function => lambda { |year| easter(year)-2 }, :name => "Good Friday", :regions => [:mx, :us]},
{:function => lambda { |year| easter(year) }, :name => "Easter Sunday", :regions => [:mx]}],
@ -27,14 +27,14 @@ module Holidays
12 => [{:mday => 12, :name => "Our Lady of Guadalupe's day", :regions => [:mx]},
{:mday => 25, :name => "Christmas Day", :regions => [:mx]}],
2 => [{:wday => 1, :week => 1, :name => "D\xC3\xADa de la Constituci\xC3\xB3n", :regions => [:mx]},
{:mday => 2, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :name => "Valentine's Day", :regions => [:us, :ca]}],
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
3 => [{:wday => 1, :week => 3, :name => "Natalicio de Benito Ju\xC3\xA1rez", :regions => [:mx]},
{:mday => 17, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
9 => [{:mday => 16, :name => "D\xC3\xADa de Independencia", :regions => [:mx]}],
4 => [{:mday => 1, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :name => "Earth Day", :regions => [:us, :ca]}],
10 => [{:mday => 31, :name => "Halloween", :regions => [:us, :ca]}]
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
10 => [{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
}
# Get the date of Easter in a given year.

View File

@ -17,11 +17,13 @@ module Holidays
5 => [{:mday => 4, :name => "Dodenherdenking", :regions => [:nl]},
{:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]}],
0 => [{:function => lambda { |year| easter(year)-2 }, :name => "Goede Vrijdag", :regions => [:nl]},
{:function => lambda { |year| easter(year) }, :name => "Pasen", :regions => [:nl, :nl]},
{:function => lambda { |year| easter(year)+40 }, :name => "Hemelvaartsdag", :regions => [:nl]},
{:function => lambda { |year| easter(year)+49 }, :name => "Pinksteren", :regions => [:nl, :nl]}],
{:function => lambda { |year| easter(year) }, :name => "Pasen", :regions => [:nl]},
{:function => lambda { |year| easter(year)+1 }, :name => "Pasen", :regions => [:nl]},
{:function => lambda { |year| easter(year)+39 }, :name => "Hemelvaartsdag", :regions => [:nl]},
{:function => lambda { |year| easter(year)+49 }, :name => "Pinksteren", :regions => [:nl]},
{:function => lambda { |year| easter(year)+50 }, :name => "Pinksteren", :regions => [:nl]}],
1 => [{:mday => 1, :name => "Nieuwjaar", :regions => [:nl]}],
12 => [{:mday => 5, :name => "Sinterklaas", :regions => [:nl]},
12 => [{:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
{:mday => 25, :name => "Kerstmis", :regions => [:nl]},
{:mday => 26, :name => "Kerstmis", :regions => [:nl]}],
4 => [{:mday => 30, :name => "Koninginnedag", :regions => [:nl]}]

View File

@ -16,7 +16,7 @@ module Holidays
HOLIDAYS_BY_MONTH = {
5 => [{:function => lambda { |year| ca_victoria_day(year) }, :name => "Victoria Day", :regions => [:ca]},
{:function => lambda { |year| ca_victoria_day(year) }, :name => "National Patriotes Day", :regions => [:ca_qc]},
{:wday => 0, :week => 3, :name => "Father's Day", :regions => [:us, :ca]},
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]},
{:mday => 1, :name => "D\xC3\xADa del Trabajo", :regions => [:mx]},
{:mday => 5, :name => "La Batalla de Puebla", :regions => [:mx]},
{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]}],
@ -46,8 +46,8 @@ module Holidays
{:mday => 4, :name => "Independence Day", :regions => [:us]}],
2 => [{:wday => 1, :week => 3, :name => "Family Day", :regions => [:ca_ab, :ca_on, :ca_sk]},
{:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
{:mday => 2, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :name => "Valentine's Day", :regions => [:us, :ca]},
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]},
{:wday => 1, :week => 1, :name => "D\xC3\xADa de la Constituci\xC3\xB3n", :regions => [:mx]}],
8 => [{:wday => 1, :week => 1, :name => "BC Day", :regions => [:ca_bc]},
{:wday => 1, :week => 1, :name => "Saskatchewan Day", :regions => [:ca_sk]},
@ -56,16 +56,16 @@ module Holidays
{:wday => 1, :week => 1, :name => "Civic Holiday", :regions => [:ca_on]},
{:wday => 1, :week => 3, :name => "Discovery Day", :regions => [:ca_yk]}],
3 => [{:mday => 23, :name => "St. George's Day", :regions => [:ca_nf]},
{:mday => 17, :name => "St. Patrick's Day", :regions => [:us, :ca]},
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]},
{:wday => 1, :week => 3, :name => "Natalicio de Benito Ju\xC3\xA1rez", :regions => [:mx]},
{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]}],
9 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:ca]},
{:mday => 16, :name => "D\xC3\xADa de Independencia", :regions => [:mx]},
{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]}],
4 => [{:mday => 1, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :name => "Earth Day", :regions => [:us, :ca]}],
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca]},
{:mday => 31, :name => "Halloween", :regions => [:us, :ca]},
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]},
{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]}]
}

View File

@ -15,8 +15,8 @@ module Holidays
HOLIDAYS_BY_MONTH = {
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
{:wday => 0, :week => 3, :name => "Father's Day", :regions => [:us, :ca]}],
0 => [{:function => lambda { |year| easter(year)-2 }, :name => "Good Friday", :regions => [:us]}],
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
0 => [{:function => lambda { |year| easter(year)-2 }, :type => :informal, :name => "Good Friday", :regions => [:us]}],
11 => [{:mday => 11, :name => "Veterans Day", :regions => [:us]},
{:wday => 4, :week => 4, :name => "Thanksgiving Day", :regions => [:us]}],
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:us]},
@ -24,15 +24,15 @@ module Holidays
{:function => lambda { |year| us_inauguration_day(year) }, :name => "Inauguration Day", :regions => [:us]}],
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:us]}],
7 => [{:mday => 4, :name => "Independence Day", :regions => [:us]}],
2 => [{:mday => 2, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :name => "Valentine's Day", :regions => [:us, :ca]}],
2 => [{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
3 => [{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
{:mday => 17, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]}],
4 => [{:mday => 1, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :name => "Earth Day", :regions => [:us, :ca]}],
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]},
{:mday => 31, :name => "Halloween", :regions => [:us, :ca]}]
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
}
# Get the date of Easter in a given year.

31
test/test_region_nl.rb Normal file
View File

@ -0,0 +1,31 @@
require File.dirname(__FILE__) + '/test_helper'
require 'holidays/europe'
class RegionTests < Test::Unit::TestCase
# ==== Netherlands
# New Year's Day 1 January
# Good Friday 21 March
# Easter Sunday 23 March
# Easter Monday 24 March
# Queen's Birthday 30 April
# Ascension Day 1 May
# Liberation Day 5 May
# Whit Sunday 11 May
# Whit Monday 12 May
# Christmas Day 25 December
# Boxing Day 26 December
def test_nl
{Date.civil(2008,1,1) => 'Nieuwjaar',
Date.civil(2008,3,21) => 'Goede Vrijdag',
Date.civil(2008,3,23) => 'Pasen',
Date.civil(2008,3,24) => 'Pasen',
Date.civil(2008,4,30) => 'Koninginnedag',
Date.civil(2008,5,1) => 'Hemelvaartsdag', # Ascension, Easter+39
Date.civil(2008,5,5) => 'Bevrijdingsdag',
Date.civil(2008,5,11) => 'Pinksteren', # Pentecost, Easter+49
Date.civil(2008,5,12) => 'Pinksteren', # Pentecost, Easter+50
Date.civil(2008,12,25) => 'Kerstmis',
Date.civil(2008,12,26) => 'Kerstmis'}.each do |date, name|
assert_equal name, Holidays.on(date, :nl)[0][:name]
end
end
end