# 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