holidays/data/gb.yaml

106 lines
3.1 KiB
YAML
Raw Normal View History

2007-11-23 02:01:11 +01:00
# Great Britain/United Kingdom holiday definitions for the Ruby Holiday gem.
#
# Including England, Wales, Scotland, N. Ireland, the Isle of Man, Guernsey
# and Jersey.
#
2007-11-29 03:56:32 +01:00
# Updated: 2008-11-28.
# Sources:
# - http://en.wikipedia.org/wiki/List_of_holidays_by_country#United_Kingdom_and_Crown_dependencies
2007-11-23 02:01:11 +01:00
#
# Notes:
# - Jersey, Guernsey and the Isle of Man are encode with both their ISO 3166-1 and ISO 3-3166-2 codes.
2007-11-29 03:56:32 +01:00
# - England and Wales together should be encoded as [gb_eng, gb_wls, gb_eaw...]
2007-11-23 02:01:11 +01:00
---
months:
0:
- name: Good Friday
regions: [gb]
function: easter(year)-2
2007-11-23 02:01:11 +01:00
- name: Easter Sunday
regions: [gb]
function: easter(year)
2007-11-23 02:01:11 +01:00
- name: Easter Monday
regions: [gb_eng, gb_wls, gb_eaw, gb_nir]
function: easter(year)+1
2007-11-23 02:01:11 +01:00
1:
- name: New Year's Day
regions: [gb]
mday: 1
- name: New Year's
regions: [gb_sct]
mday: 2
3:
- name: St. Piran's Day
regions: [gb_con]
mday: 5
- name: St. Patrick's Day
regions: [gb_nir]
mday: 17
5:
- name: May Day
regions: [gb]
week: 1
wday: 1
- name: Liberation Day
regions: [je, gb_jsy, gg, gb_gsy]
mday: 9
- name: Bank Holiday
regions: [gb]
week: -1
wday: 1
7:
- name: Tynwald Day
regions: [im, gb_iom]
mday: 5
- name: Battle of the Boyne
regions: [gb_nir]
mday: 12
8:
- name: Bank Holiday
regions: [gb_sct]
week: 1
wday: 1
- name: Bank Holiday
2007-11-29 03:56:32 +01:00
regions: [gb_eng, gb_wls, gb_eaw, gb_nir]
2007-11-23 02:01:11 +01:00
week: -1
wday: 1
2007-11-29 03:56:32 +01:00
11:
- name: Guy Fawkes Day
regions: [gb]
mday: 5
type: informal
2007-11-23 02:01:11 +01:00
12:
- name: Christmas Day
regions: [gb]
mday: 25
observed: to_monday_if_weekend
2007-11-23 02:01:11 +01:00
- name: Boxing Day
regions: [gb]
mday: 26
observed: to_weekday_if_boxing_weekend
2007-12-05 23:27:05 +01:00
tests: |
{Date.civil(2008,1,1) => 'New Year\'s Day',
Date.civil(2008,3,21) => 'Good Friday',
Date.civil(2008,3,23) => 'Easter Sunday',
Date.civil(2008,5,5) => 'May Day',
Date.civil(2008,5,26) => 'Bank Holiday',
Date.civil(2008,11,5) => 'Guy Fawkes Day',
Date.civil(2008,12,25) => 'Christmas Day',
Date.civil(2008,12,26) => 'Boxing Day'}.each do |date, name|
assert_equal name, (Holidays.on(date, :gb, :informal)[0] || {})[:name]
2007-12-05 23:27:05 +01:00
end
assert_equal 'St. Patrick\'s Day', Date.civil(2008,3,17).holidays(:gb_nir, :informal)[0][:name]
assert_equal 'Christmas Day', Date.civil(2008,12,25).holidays(:gb_, :observed)[0][:name]
assert_equal 'Christmas Day', Date.civil(2009,12,25).holidays(:gb_, :observed)[0][:name]
assert_equal 'Christmas Day', Date.civil(2010,12,27).holidays(:gb_, :observed)[0][:name]
assert_equal 'Boxing Day', Date.civil(2008,12,26).holidays(:gb_, :observed)[0][:name]
assert_equal 'Boxing Day', Date.civil(2009,12,28).holidays(:gb_, :observed)[0][:name]
assert_equal 'Boxing Day', Date.civil(2010,12,28).holidays(:gb_, :observed)[0][:name]
[:gb_wls, :gb_eng, :gb_nir, :gb_eaw, :gb_].each do |r|
assert_equal 'Easter Monday', Date.civil(2008,3,24).holidays(r)[0][:name]
assert_equal 'Bank Holiday', Date.civil(2008,8,25).holidays(r)[0][:name]
end