81 lines
1.9 KiB
YAML
81 lines
1.9 KiB
YAML
# United States holiday definitions for the Ruby Holiday gem.
|
|
#
|
|
# Updated: 2008-11-24.
|
|
# Source: http://en.wikipedia.org/wiki/Public_holidays_of_the_United_States
|
|
---
|
|
months:
|
|
0:
|
|
- name: Good Friday
|
|
regions: [us]
|
|
function: easter(year)-2
|
|
type: informal
|
|
1:
|
|
- name: New Year's Day
|
|
regions: [us]
|
|
mday: 1
|
|
observed: to_weekday_if_weekend
|
|
- name: Martin Luther King, Jr. Day
|
|
week: 3
|
|
regions: [us]
|
|
wday: 1
|
|
- name: Inauguration Day
|
|
function: us_inauguration_day(year)
|
|
regions: [us_dc]
|
|
2:
|
|
- name: Presidents' Day
|
|
week: 3
|
|
regions: [us]
|
|
wday: 1
|
|
5:
|
|
- name: Memorial Day
|
|
week: -1
|
|
regions: [us]
|
|
wday: 1
|
|
7:
|
|
- name: Independence Day
|
|
regions: [us]
|
|
mday: 4
|
|
observed: to_weekday_if_weekend
|
|
9:
|
|
- name: Labor Day
|
|
week: 1
|
|
regions: [us]
|
|
wday: 1
|
|
10:
|
|
- name: Columbus Day
|
|
week: 2
|
|
regions: [us]
|
|
wday: 1
|
|
11:
|
|
- name: Veterans Day
|
|
regions: [us]
|
|
mday: 11
|
|
observed: to_weekday_if_weekend
|
|
- name: Thanksgiving
|
|
week: 4
|
|
regions: [us]
|
|
wday: 4
|
|
12:
|
|
- name: Christmas Day
|
|
regions: [us]
|
|
mday: 25
|
|
observed: to_weekday_if_weekend
|
|
methods:
|
|
us_inauguration_day: |
|
|
# January 20, every fourth year, following Presidential election
|
|
def self.us_inauguration_day(year)
|
|
year % 4 == 1 ? 20 : nil
|
|
end
|
|
tests: |
|
|
{Date.civil(2008,1,1) => 'New Year\'s Day',
|
|
Date.civil(2008,1,21) => 'Martin Luther King, Jr. Day',
|
|
Date.civil(2008,2,18) => 'Presidents\' Day',
|
|
Date.civil(2008,5,26) => 'Memorial Day',
|
|
Date.civil(2008,7,4) => 'Independence Day',
|
|
Date.civil(2008,9,1) => 'Labor Day',
|
|
Date.civil(2008,10,13) => 'Columbus Day',
|
|
Date.civil(2008,11,11) => 'Veterans Day',
|
|
Date.civil(2008,11,27) => 'Thanksgiving',
|
|
Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
|
|
assert_equal name, (Holidays.on(date, :us)[0] || {})[:name]
|
|
end |