2010-11-12 21:45:12 +01:00
|
|
|
# encoding: utf-8
|
2008-12-30 20:43:29 +01:00
|
|
|
module Holidays
|
|
|
|
# This file is generated by the Ruby Holiday gem.
|
|
|
|
#
|
|
|
|
# Definitions loaded: data/us.yaml, data/north_america_informal.yaml
|
|
|
|
#
|
|
|
|
# To use the definitions in this file, load them right after you load the
|
|
|
|
# Holiday gem:
|
|
|
|
#
|
|
|
|
# require 'holidays'
|
|
|
|
# require 'holidays/us'
|
|
|
|
#
|
|
|
|
# More definitions are available at http://code.dunae.ca/holidays.
|
|
|
|
module US # :nodoc:
|
|
|
|
DEFINED_REGIONS = [:us, :us_dc, :ca]
|
|
|
|
|
|
|
|
HOLIDAYS_BY_MONTH = {
|
2011-05-13 22:58:57 +02:00
|
|
|
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
|
|
|
|
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
|
2008-12-30 20:43:29 +01:00
|
|
|
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :type => :informal, :name => "Good Friday", :regions => [:us]}],
|
2011-05-13 22:58:57 +02:00
|
|
|
11 => [{:mday => 11, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Veterans Day", :regions => [:us]},
|
|
|
|
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]}],
|
2008-12-30 20:43:29 +01:00
|
|
|
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "New Year's Day", :regions => [:us]},
|
|
|
|
{:wday => 1, :week => 3, :name => "Martin Luther King, Jr. Day", :regions => [:us]},
|
|
|
|
{:function => lambda { |year| Holidays.us_inauguration_day(year) }, :function_id => "us_inauguration_day(year)", :name => "Inauguration Day", :regions => [:us_dc]}],
|
2011-05-13 22:58:57 +02:00
|
|
|
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:us]}],
|
|
|
|
7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Independence Day", :regions => [:us]}],
|
2008-12-30 20:43:29 +01:00
|
|
|
2 => [{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
|
|
|
|
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
|
|
|
|
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
|
2011-04-29 23:42:17 +02:00
|
|
|
3 => [{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
2011-05-13 22:58:57 +02:00
|
|
|
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]}],
|
2011-04-29 23:42:17 +02:00
|
|
|
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
|
2011-05-13 22:58:57 +02:00
|
|
|
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
|
|
|
|
10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]},
|
|
|
|
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
|
2008-12-30 20:43:29 +01:00
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
# January 20, every fourth year, following Presidential election
|
|
|
|
def self.us_inauguration_day(year)
|
|
|
|
year % 4 == 1 ? 20 : nil
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
Holidays.merge_defs(Holidays::US::DEFINED_REGIONS, Holidays::US::HOLIDAYS_BY_MONTH)
|