wombleton-holidays 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/CHANGELOG +22 -0
- data/LICENSE +21 -0
- data/README.rdoc +77 -0
- data/REFERENCES +16 -0
- data/VERSION +1 -0
- data/data/SYNTAX +111 -0
- data/data/au.yaml +111 -0
- data/data/build_defs.rb +152 -0
- data/data/ca.yaml +141 -0
- data/data/cz.yaml +68 -0
- data/data/de.yaml +111 -0
- data/data/dk.yaml +117 -0
- data/data/es.yaml +161 -0
- data/data/fr.yaml +70 -0
- data/data/gb.yaml +106 -0
- data/data/ie.yaml +58 -0
- data/data/index.yaml +26 -0
- data/data/is.yaml +136 -0
- data/data/it.yaml +66 -0
- data/data/mx.yaml +106 -0
- data/data/nl.yaml +67 -0
- data/data/no.yaml +82 -0
- data/data/north_america_informal.yaml +49 -0
- data/data/nyse.yaml +63 -0
- data/data/nz.yaml +141 -0
- data/data/pt.yaml +85 -0
- data/data/se.yaml +91 -0
- data/data/united_nations.yaml +188 -0
- data/data/ups.yaml +56 -0
- data/data/us.yaml +81 -0
- data/data/za.yaml +78 -0
- data/holidays.gemspec +16 -0
- data/lib/holidays/MANIFEST +28 -0
- data/lib/holidays/au.rb +43 -0
- data/lib/holidays/ca.rb +69 -0
- data/lib/holidays/cz.rb +36 -0
- data/lib/holidays/de.rb +51 -0
- data/lib/holidays/dk.rb +48 -0
- data/lib/holidays/es.rb +53 -0
- data/lib/holidays/europe.rb +236 -0
- data/lib/holidays/fr.rb +37 -0
- data/lib/holidays/gb.rb +41 -0
- data/lib/holidays/ie.rb +33 -0
- data/lib/holidays/is.rb +62 -0
- data/lib/holidays/it.rb +36 -0
- data/lib/holidays/mx.rb +52 -0
- data/lib/holidays/nl.rb +37 -0
- data/lib/holidays/no.rb +40 -0
- data/lib/holidays/north_america.rb +108 -0
- data/lib/holidays/nyse.rb +33 -0
- data/lib/holidays/nz.rb +69 -0
- data/lib/holidays/pt.rb +38 -0
- data/lib/holidays/scandinavia.rb +115 -0
- data/lib/holidays/se.rb +53 -0
- data/lib/holidays/united_nations.rb +25 -0
- data/lib/holidays/ups.rb +32 -0
- data/lib/holidays/us.rb +49 -0
- data/lib/holidays/za.rb +36 -0
- data/lib/holidays.rb +408 -0
- data/rakefile.rb +103 -0
- data/test/defs/test_defs_au.rb +35 -0
- data/test/defs/test_defs_ca.rb +28 -0
- data/test/defs/test_defs_cz.rb +25 -0
- data/test/defs/test_defs_de.rb +48 -0
- data/test/defs/test_defs_dk.rb +29 -0
- data/test/defs/test_defs_es.rb +56 -0
- data/test/defs/test_defs_europe.rb +277 -0
- data/test/defs/test_defs_fr.rb +25 -0
- data/test/defs/test_defs_gb.rb +35 -0
- data/test/defs/test_defs_ie.rb +20 -0
- data/test/defs/test_defs_is.rb +32 -0
- data/test/defs/test_defs_it.rb +24 -0
- data/test/defs/test_defs_mx.rb +21 -0
- data/test/defs/test_defs_nl.rb +23 -0
- data/test/defs/test_defs_no.rb +28 -0
- data/test/defs/test_defs_north_america.rb +53 -0
- data/test/defs/test_defs_nyse.rb +21 -0
- data/test/defs/test_defs_nz.rb +21 -0
- data/test/defs/test_defs_pt.rb +31 -0
- data/test/defs/test_defs_scandinavia.rb +75 -0
- data/test/defs/test_defs_se.rb +32 -0
- data/test/defs/test_defs_ups.rb +20 -0
- data/test/defs/test_defs_us.rb +22 -0
- data/test/defs/test_defs_za.rb +24 -0
- data/test/test_date.rb +101 -0
- data/test/test_helper.rb +11 -0
- data/test/test_holidays.rb +117 -0
- data/test/test_multiple_regions.rb +20 -0
- metadata +172 -0
data/data/nz.yaml
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# New Zealand holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
# Updated: 2010-03-28.
|
|
3
|
+
# Sources:
|
|
4
|
+
# - http://en.wikipedia.org/wiki/Public_holidays_in_New_Zealand
|
|
5
|
+
---
|
|
6
|
+
months:
|
|
7
|
+
0:
|
|
8
|
+
- name: Good Friday
|
|
9
|
+
regions: [nz]
|
|
10
|
+
function: easter(year)-2
|
|
11
|
+
- name: Easter Saturday
|
|
12
|
+
regions: [nz]
|
|
13
|
+
function: easter(year)-1
|
|
14
|
+
- name: Easter Monday
|
|
15
|
+
regions: [nz]
|
|
16
|
+
function: easter(year)+1
|
|
17
|
+
1:
|
|
18
|
+
- name: New Year's Day
|
|
19
|
+
regions: [nz]
|
|
20
|
+
mday: 1
|
|
21
|
+
observed: to_monday_if_weekend
|
|
22
|
+
- name: Day after New Year's Day
|
|
23
|
+
regions: [nz]
|
|
24
|
+
mday: 2
|
|
25
|
+
observed: to_weekday_if_boxing_weekend
|
|
26
|
+
- name: Southland Anniversary Day
|
|
27
|
+
regions: [nz_sl]
|
|
28
|
+
mday: 17
|
|
29
|
+
- name: Wellington Anniversary Day
|
|
30
|
+
regions: [nz_we]
|
|
31
|
+
mday: 22
|
|
32
|
+
observed: closest_monday
|
|
33
|
+
- name: Auckland Anniversary Day
|
|
34
|
+
regions: [nz_ak]
|
|
35
|
+
mday: 29
|
|
36
|
+
observed: closest_monday
|
|
37
|
+
- name: Northland Anniversary Day
|
|
38
|
+
regions: [nz_nl]
|
|
39
|
+
mday: 29
|
|
40
|
+
observed: closest_monday
|
|
41
|
+
2:
|
|
42
|
+
- name: Nelson Anniversary Day
|
|
43
|
+
regions: [nz_ak]
|
|
44
|
+
mday: 1
|
|
45
|
+
observed: closest_monday
|
|
46
|
+
- name: Waitangi Day
|
|
47
|
+
regions: [nz]
|
|
48
|
+
mday: 6
|
|
49
|
+
3:
|
|
50
|
+
- name: Otago Anniversary Day
|
|
51
|
+
regions: [nz_ot]
|
|
52
|
+
mday: 23
|
|
53
|
+
observed: closest_monday
|
|
54
|
+
- name: Taranaki Anniversary Day
|
|
55
|
+
regions: [nz_ak]
|
|
56
|
+
week: 2
|
|
57
|
+
wday: 1
|
|
58
|
+
4:
|
|
59
|
+
- name: ANZAC Day
|
|
60
|
+
regions: [nz]
|
|
61
|
+
mday: 25
|
|
62
|
+
6:
|
|
63
|
+
- name: Queen's Birthday
|
|
64
|
+
regions: [nz]
|
|
65
|
+
week: 1
|
|
66
|
+
wday: 1
|
|
67
|
+
9:
|
|
68
|
+
- name: Dominion Day
|
|
69
|
+
regions: [nz_sc]
|
|
70
|
+
week: 4
|
|
71
|
+
wday: 1
|
|
72
|
+
10:
|
|
73
|
+
- name: Hawke's bay Anniversary Day
|
|
74
|
+
regions: [nz_hb]
|
|
75
|
+
week: 1
|
|
76
|
+
wday: 1
|
|
77
|
+
observed: previous_friday
|
|
78
|
+
- name: Labour Day
|
|
79
|
+
regions: [nz]
|
|
80
|
+
week: 4
|
|
81
|
+
wday: 1
|
|
82
|
+
- name: Marlborough Anniversary Day
|
|
83
|
+
regions: [nz_mb]
|
|
84
|
+
week: 4
|
|
85
|
+
wday: 1
|
|
86
|
+
observed: next_week
|
|
87
|
+
11:
|
|
88
|
+
- name: Canterbury Anniversary Day
|
|
89
|
+
regions: [nz_ca]
|
|
90
|
+
week: 2
|
|
91
|
+
wday: 5
|
|
92
|
+
- name: Chatham Island Anniversary Day
|
|
93
|
+
regions: [nz_ch]
|
|
94
|
+
mday: 30
|
|
95
|
+
observed: closest_monday
|
|
96
|
+
12:
|
|
97
|
+
- name: Westland Anniversary Day
|
|
98
|
+
regions: [nz_wl]
|
|
99
|
+
mday: 1
|
|
100
|
+
observed: closest_monday
|
|
101
|
+
- name: Christmas Day
|
|
102
|
+
regions: [nz]
|
|
103
|
+
mday: 25
|
|
104
|
+
observed: to_monday_if_weekend
|
|
105
|
+
- name: Boxing Day
|
|
106
|
+
regions: [nz]
|
|
107
|
+
mday: 26
|
|
108
|
+
observed: to_weekday_if_boxing_weekend
|
|
109
|
+
tests: |
|
|
110
|
+
{Date.civil(2007,1,1) => 'New Year\'s Day',
|
|
111
|
+
Date.civil(2007,1,2) => 'Day after New Year\'s Day',
|
|
112
|
+
Date.civil(2007,2,6) => 'Waitangi Day',
|
|
113
|
+
Date.civil(2007,4,6) => 'Good Friday',
|
|
114
|
+
Date.civil(2007,4,9) => 'Easter Monday',
|
|
115
|
+
Date.civil(2007,4,25) => 'ANZAC Day',
|
|
116
|
+
Date.civil(2007,12,25) => 'Christmas Day',
|
|
117
|
+
Date.civil(2007,12,26) => 'Boxing Day'}.each do |date, name|
|
|
118
|
+
assert_equal name, (Holidays.on(date, :nz, :informal)[0] || {})[:name]
|
|
119
|
+
end
|
|
120
|
+
methods:
|
|
121
|
+
closest_monday: |
|
|
122
|
+
def self.closest_monday(date)
|
|
123
|
+
if [1, 2, 3, 4].include?(date.wday)
|
|
124
|
+
date -= (date.wday - 1)
|
|
125
|
+
elsif 0 == date.wday
|
|
126
|
+
date += 1
|
|
127
|
+
else
|
|
128
|
+
date += 8 - date.wday
|
|
129
|
+
end
|
|
130
|
+
date
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
previous_friday: |
|
|
134
|
+
def self.previous_friday(date)
|
|
135
|
+
date - 3
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
next_week: |
|
|
139
|
+
def self.next_week(date)
|
|
140
|
+
date + 7
|
|
141
|
+
end
|
data/data/pt.yaml
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Portugese holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-28.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Holidays_in_Portugal
|
|
6
|
+
# - http://www.kidlink.org/KIDPROJ/MCC/mcc0006.html
|
|
7
|
+
# - http://www.worldtravelguide.net/country/227/public_holidays/Europe/Portugal.html
|
|
8
|
+
# - http://en.wikipedia.org/wiki/Portugal_Day
|
|
9
|
+
# - http://www.timeanddate.com/calendar/custom.html?year=2008&country=15
|
|
10
|
+
---
|
|
11
|
+
months:
|
|
12
|
+
0:
|
|
13
|
+
- name: Carnaval # same as Shrove Tuesday
|
|
14
|
+
regions: [pt]
|
|
15
|
+
function: easter(year)-47
|
|
16
|
+
type: informal
|
|
17
|
+
- name: Sexta-feira Santa
|
|
18
|
+
regions: [pt]
|
|
19
|
+
function: easter(year)-2
|
|
20
|
+
- name: Páscoa
|
|
21
|
+
regions: [pt]
|
|
22
|
+
function: easter(year)
|
|
23
|
+
- name: Corpo de Deus
|
|
24
|
+
regions: [pt]
|
|
25
|
+
function: easter(year)+60
|
|
26
|
+
1:
|
|
27
|
+
- name: Ano Novo
|
|
28
|
+
regions: [pt]
|
|
29
|
+
mday: 1
|
|
30
|
+
4:
|
|
31
|
+
- name: Dia da Liberdade
|
|
32
|
+
regions: [pt]
|
|
33
|
+
mday: 25
|
|
34
|
+
5:
|
|
35
|
+
- name: Dia do Trabalhador
|
|
36
|
+
regions: [pt]
|
|
37
|
+
mday: 1
|
|
38
|
+
6:
|
|
39
|
+
- name: Dia de Portugal
|
|
40
|
+
regions: [pt]
|
|
41
|
+
mday: 10
|
|
42
|
+
8:
|
|
43
|
+
- name: Assunção de Nossa Senhora
|
|
44
|
+
regions: [pt]
|
|
45
|
+
mday: 15
|
|
46
|
+
10:
|
|
47
|
+
- name: Implantação da República
|
|
48
|
+
regions: [pt]
|
|
49
|
+
mday: 5
|
|
50
|
+
11:
|
|
51
|
+
- name: Todos os Santos
|
|
52
|
+
regions: [pt]
|
|
53
|
+
mday: 1
|
|
54
|
+
12:
|
|
55
|
+
- name: Restauração da Independência
|
|
56
|
+
regions: [pt]
|
|
57
|
+
mday: 1
|
|
58
|
+
- name: Imaculada Conceição
|
|
59
|
+
regions: [pt]
|
|
60
|
+
mday: 8
|
|
61
|
+
- name: Natal
|
|
62
|
+
regions: [pt]
|
|
63
|
+
mday: 25
|
|
64
|
+
tests: |
|
|
65
|
+
{Date.civil(2008,1,1) => 'Ano Novo',
|
|
66
|
+
Date.civil(2005,2,8) => 'Carnaval',
|
|
67
|
+
Date.civil(2006,2,28) => 'Carnaval',
|
|
68
|
+
Date.civil(2007,2,20) => 'Carnaval',
|
|
69
|
+
Date.civil(2008,2,5) => 'Carnaval',
|
|
70
|
+
Date.civil(2008,3,21) => 'Sexta-feira Santa',
|
|
71
|
+
Date.civil(2008,3,23) => 'Páscoa',
|
|
72
|
+
Date.civil(2008,4,25) => 'Dia da Liberdade',
|
|
73
|
+
Date.civil(2008,5,1) => 'Dia do Trabalhador',
|
|
74
|
+
Date.civil(2005,5,26) => 'Corpo de Deus',
|
|
75
|
+
Date.civil(2007,6,7) => 'Corpo de Deus',
|
|
76
|
+
Date.civil(2008,5,22) => 'Corpo de Deus',
|
|
77
|
+
Date.civil(2008,6,10) => 'Dia de Portugal',
|
|
78
|
+
Date.civil(2008,8,15) => 'Assunção de Nossa Senhora',
|
|
79
|
+
Date.civil(2008,10,5) => 'Implantação da República',
|
|
80
|
+
Date.civil(2008,11,1) => 'Todos os Santos',
|
|
81
|
+
Date.civil(2008,12,1) => 'Restauração da Independência',
|
|
82
|
+
Date.civil(2008,12,8) => 'Imaculada Conceição',
|
|
83
|
+
Date.civil(2008,12,25) => 'Natal'}.each do |date, name|
|
|
84
|
+
assert_equal name, (Holidays.on(date, :pt, :informal)[0] || {})[:name]
|
|
85
|
+
end
|
data/data/se.yaml
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Swedish holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-28.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Holidays_in_Sweden
|
|
6
|
+
# - http://www.worldtravelguide.net/country/269/public_holidays/Europe/Sweden.html
|
|
7
|
+
# - http://hem.passagen.se/farila/midsum.htm
|
|
8
|
+
# - http://www.timeanddate.com/calendar/?country=21
|
|
9
|
+
---
|
|
10
|
+
months:
|
|
11
|
+
0:
|
|
12
|
+
- name: Långfredagen
|
|
13
|
+
regions: [se]
|
|
14
|
+
function: easter(year)-2
|
|
15
|
+
- name: Påskdagen
|
|
16
|
+
regions: [se]
|
|
17
|
+
function: easter(year)
|
|
18
|
+
- name: Annandag påsk
|
|
19
|
+
regions: [se]
|
|
20
|
+
function: easter(year)+1
|
|
21
|
+
- name: Kristi himmelsfärdsdag # Ascension Day
|
|
22
|
+
regions: [se]
|
|
23
|
+
function: easter(year)+39
|
|
24
|
+
- name: Pingstdagen # Whitsunday
|
|
25
|
+
regions: [se]
|
|
26
|
+
function: easter(year)+49
|
|
27
|
+
- name: Alla helgons dag # All Saint's Day
|
|
28
|
+
regions: [se]
|
|
29
|
+
function: se_alla_helgons_dag(year)
|
|
30
|
+
1:
|
|
31
|
+
- name: Nyårsdagen
|
|
32
|
+
regions: [se]
|
|
33
|
+
mday: 1
|
|
34
|
+
- name: Trettondedag jul
|
|
35
|
+
regions: [se]
|
|
36
|
+
mday: 6
|
|
37
|
+
5:
|
|
38
|
+
- name: Första maj
|
|
39
|
+
regions: [se]
|
|
40
|
+
mday: 1
|
|
41
|
+
6:
|
|
42
|
+
- name: Nationaldagen
|
|
43
|
+
regions: [se]
|
|
44
|
+
mday: 6
|
|
45
|
+
- name: Midsommardagen
|
|
46
|
+
regions: [se]
|
|
47
|
+
function: se_midsommardagen(year)
|
|
48
|
+
12:
|
|
49
|
+
- name: Juldagen
|
|
50
|
+
regions: [se]
|
|
51
|
+
mday: 25
|
|
52
|
+
- name: Annandag jul
|
|
53
|
+
regions: [se]
|
|
54
|
+
mday: 26
|
|
55
|
+
methods:
|
|
56
|
+
se_midsommardagen: |
|
|
57
|
+
# Sweden: Mid-summer (Saturday between June 20–26)
|
|
58
|
+
def self.se_midsommardagen(year)
|
|
59
|
+
date = Date.civil(year,6,20)
|
|
60
|
+
date += (6 - date.wday)
|
|
61
|
+
date
|
|
62
|
+
end
|
|
63
|
+
se_alla_helgons_dag: |
|
|
64
|
+
# Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
|
65
|
+
def self.se_alla_helgons_dag(year)
|
|
66
|
+
date = Date.civil(year,10,31)
|
|
67
|
+
date += (6 - date.wday)
|
|
68
|
+
date
|
|
69
|
+
end
|
|
70
|
+
tests: |
|
|
71
|
+
{Date.civil(2008,1,1) => 'Nyårsdagen',
|
|
72
|
+
Date.civil(2008,1,6) => 'Trettondedag jul',
|
|
73
|
+
Date.civil(2008,3,21) => 'Långfredagen',
|
|
74
|
+
Date.civil(2008,3,23) => 'Påskdagen',
|
|
75
|
+
Date.civil(2008,3,24) => 'Annandag påsk',
|
|
76
|
+
Date.civil(2008,5,1) => 'Första maj',
|
|
77
|
+
Date.civil(2008,5,1) => 'Kristi himmelsfärdsdag',
|
|
78
|
+
Date.civil(2008,5,11) => 'Pingstdagen',
|
|
79
|
+
Date.civil(2008,6,6) => 'Nationaldagen',
|
|
80
|
+
Date.civil(2005,6,25) => 'Midsommardagen',
|
|
81
|
+
Date.civil(2006,6,24) => 'Midsommardagen',
|
|
82
|
+
Date.civil(2007,6,23) => 'Midsommardagen',
|
|
83
|
+
Date.civil(2008,6,21) => 'Midsommardagen',
|
|
84
|
+
Date.civil(2005,11,5) => 'Alla helgons dag',
|
|
85
|
+
Date.civil(2006,11,4) => 'Alla helgons dag',
|
|
86
|
+
Date.civil(2007,11,3) => 'Alla helgons dag',
|
|
87
|
+
Date.civil(2008,11,1) => 'Alla helgons dag',
|
|
88
|
+
Date.civil(2008,12,25) => 'Juldagen',
|
|
89
|
+
Date.civil(2008,12,26) => 'Annandag jul'}.each do |date, name|
|
|
90
|
+
assert_equal name, (Holidays.on(date, :se, :informal)[0] || {})[:name]
|
|
91
|
+
end
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# United Nationas holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
# Updated 2008-11-21.
|
|
3
|
+
---
|
|
4
|
+
2:
|
|
5
|
+
- name: International Mother Language Day
|
|
6
|
+
regions: [un]
|
|
7
|
+
mday: 2
|
|
8
|
+
3:
|
|
9
|
+
- name: United Nations Day for Women's Rights and International Peace
|
|
10
|
+
regions: [un]
|
|
11
|
+
mday: 8
|
|
12
|
+
- name: International Day for the Elimination of Racial Discrimination
|
|
13
|
+
regions: [un]
|
|
14
|
+
mday: 21
|
|
15
|
+
- name: Beginning of the Week of Solidarity with the Peoples Struggling against Racism and Racial Discrimination
|
|
16
|
+
regions: [un]
|
|
17
|
+
mday: 21
|
|
18
|
+
- name: World Day for Water
|
|
19
|
+
regions: [un]
|
|
20
|
+
mday: 22
|
|
21
|
+
- name: World Meteorological Day
|
|
22
|
+
regions: [un]
|
|
23
|
+
mday: 23
|
|
24
|
+
4:
|
|
25
|
+
- name: World Health Day
|
|
26
|
+
regions: [un]
|
|
27
|
+
mday: 7
|
|
28
|
+
- name: World Book and Copyright Day
|
|
29
|
+
regions: [un]
|
|
30
|
+
mday: 23
|
|
31
|
+
5:
|
|
32
|
+
- name: World Press Freedom Day
|
|
33
|
+
regions: [un]
|
|
34
|
+
mday: 3
|
|
35
|
+
- name: International Day of Families
|
|
36
|
+
regions: [un]
|
|
37
|
+
mday: 15
|
|
38
|
+
- name: World Telecommunication Day
|
|
39
|
+
regions: [un]
|
|
40
|
+
mday: 17
|
|
41
|
+
- name: World Day for Cultural Diversity for Dialogue and Development
|
|
42
|
+
regions: [un]
|
|
43
|
+
mday: 21
|
|
44
|
+
- name: International Day for Biological Diversity
|
|
45
|
+
regions: [un]
|
|
46
|
+
mday: 22
|
|
47
|
+
- name: Beginning of the Week of Solidarity with the Peoples of Non-Self-Governing Territories
|
|
48
|
+
regions: [un]
|
|
49
|
+
mday: 25
|
|
50
|
+
- name: International Day of United Nations Peacekeepers
|
|
51
|
+
regions: [un]
|
|
52
|
+
mday: 29
|
|
53
|
+
- name: World No-Tobacco Day
|
|
54
|
+
regions: [un]
|
|
55
|
+
mday: 31
|
|
56
|
+
6:
|
|
57
|
+
- name: International Day of Innocent Children Victims of Aggression
|
|
58
|
+
regions: [un]
|
|
59
|
+
mday: 4
|
|
60
|
+
- name: World Environment Day
|
|
61
|
+
regions: [un]
|
|
62
|
+
mday: 5
|
|
63
|
+
- name: World Day to Combat Desertification and Drought
|
|
64
|
+
regions: [un]
|
|
65
|
+
mday: 17
|
|
66
|
+
- name: World Refugee Day
|
|
67
|
+
regions: [un]
|
|
68
|
+
mday: 20
|
|
69
|
+
- name: United Nations Public Service Day
|
|
70
|
+
regions: [un]
|
|
71
|
+
mday: 23
|
|
72
|
+
- name: International Day against Drug Abuse and Illicit Trafficking
|
|
73
|
+
regions: [un]
|
|
74
|
+
mday: 26
|
|
75
|
+
- name: International Day in Support of Victims of Torture
|
|
76
|
+
regions: [un]
|
|
77
|
+
mday: 26
|
|
78
|
+
7:
|
|
79
|
+
- name: International Day of Cooperatives
|
|
80
|
+
week: 1
|
|
81
|
+
regions: [un]
|
|
82
|
+
wday: 6
|
|
83
|
+
- name: World Population Day
|
|
84
|
+
regions: [un]
|
|
85
|
+
mday: 11
|
|
86
|
+
8:
|
|
87
|
+
- name: International Day of the World's Indigenous People
|
|
88
|
+
regions: [un]
|
|
89
|
+
mday: 9
|
|
90
|
+
- name: International Youth Day
|
|
91
|
+
regions: [un]
|
|
92
|
+
mday: 12
|
|
93
|
+
- name: International Day for the Remembrance of the Slave Trade and Its Abolition
|
|
94
|
+
regions: [un]
|
|
95
|
+
mday: 23
|
|
96
|
+
9:
|
|
97
|
+
- name: International Literacy Day
|
|
98
|
+
regions: [un]
|
|
99
|
+
mday: 8
|
|
100
|
+
- name: International Day for the Preservation of the Ozone Layer
|
|
101
|
+
regions: [un]
|
|
102
|
+
mday: 16
|
|
103
|
+
- name: International Day of Peace
|
|
104
|
+
regions: [un]
|
|
105
|
+
mday: 21
|
|
106
|
+
- name: International Day of Older Persons
|
|
107
|
+
regions: [un]
|
|
108
|
+
mday: 1
|
|
109
|
+
10:
|
|
110
|
+
- name: World Space Week
|
|
111
|
+
regions: [un]
|
|
112
|
+
mday: 4
|
|
113
|
+
- name: World Teachers' Day
|
|
114
|
+
regions: [un]
|
|
115
|
+
mday: 5
|
|
116
|
+
- name: World Habitat Day
|
|
117
|
+
week: 1
|
|
118
|
+
regions: [un]
|
|
119
|
+
wday: 1
|
|
120
|
+
- name: International Day for Natural Disaster Reduction
|
|
121
|
+
week: 2
|
|
122
|
+
regions: [un]
|
|
123
|
+
wday: 3
|
|
124
|
+
- name: World Post Day
|
|
125
|
+
regions: [un]
|
|
126
|
+
mday: 9
|
|
127
|
+
- name: World Mental Health Day
|
|
128
|
+
regions: [un]
|
|
129
|
+
mday: 10
|
|
130
|
+
- name: World Food Day
|
|
131
|
+
regions: [un]
|
|
132
|
+
mday: 16
|
|
133
|
+
- name: International Day for the Eradication of Poverty
|
|
134
|
+
regions: [un]
|
|
135
|
+
mday: 17
|
|
136
|
+
- name: United Nations Day
|
|
137
|
+
regions: [un]
|
|
138
|
+
mday: 24
|
|
139
|
+
- name: World Development Information Day
|
|
140
|
+
regions: [un]
|
|
141
|
+
mday: 24
|
|
142
|
+
- name: Disarmament Week
|
|
143
|
+
regions: [un]
|
|
144
|
+
mday: 24
|
|
145
|
+
11:
|
|
146
|
+
- name: International Day for Preventing the Exploitation of the Environment in War and Armed Conflict
|
|
147
|
+
regions: [un]
|
|
148
|
+
mday: 6
|
|
149
|
+
- name: International Day for Tolerance
|
|
150
|
+
regions: [un]
|
|
151
|
+
mday: 16
|
|
152
|
+
- name: Africa Industrialization Day
|
|
153
|
+
regions: [un]
|
|
154
|
+
mday: 20
|
|
155
|
+
- name: Universal Children's Day
|
|
156
|
+
regions: [un]
|
|
157
|
+
mday: 20
|
|
158
|
+
- name: World Television Day
|
|
159
|
+
regions: [un]
|
|
160
|
+
mday: 21
|
|
161
|
+
- name: International Day for the Elimination of Violence against Women
|
|
162
|
+
regions: [un]
|
|
163
|
+
mday: 25
|
|
164
|
+
- name: International Day of Solidarity with the Palestinian People
|
|
165
|
+
regions: [un]
|
|
166
|
+
mday: 29
|
|
167
|
+
12:
|
|
168
|
+
- name: World AIDS Day
|
|
169
|
+
regions: [un]
|
|
170
|
+
mday: 1
|
|
171
|
+
- name: International Day for the Abolition of Slavery
|
|
172
|
+
regions: [un]
|
|
173
|
+
mday: 2
|
|
174
|
+
- name: International Day of Disabled Persons
|
|
175
|
+
regions: [un]
|
|
176
|
+
mday: 3
|
|
177
|
+
- name: International Volunteer Day for Economic and Social Development
|
|
178
|
+
regions: [un]
|
|
179
|
+
mday: 5
|
|
180
|
+
- name: International Civil Aviation Day
|
|
181
|
+
regions: [un]
|
|
182
|
+
mday: 7
|
|
183
|
+
- name: Human Rights Day
|
|
184
|
+
regions: [un]
|
|
185
|
+
mday: 10
|
|
186
|
+
- name: International Migrants Day
|
|
187
|
+
regions: [un]
|
|
188
|
+
mday: 18
|
data/data/ups.yaml
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# UPS holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# By Tim Anglade
|
|
4
|
+
#
|
|
5
|
+
# Updated: 2008-09-23.
|
|
6
|
+
# Source: http://www.ups.com/content/us/en/resources/ship/imp_exp/operation.html
|
|
7
|
+
---
|
|
8
|
+
months:
|
|
9
|
+
1:
|
|
10
|
+
- name: New Year's Day
|
|
11
|
+
regions: [ups]
|
|
12
|
+
mday: 1
|
|
13
|
+
observed: to_weekday_if_weekend
|
|
14
|
+
5:
|
|
15
|
+
- name: Memorial Day
|
|
16
|
+
week: -1
|
|
17
|
+
regions: [ups]
|
|
18
|
+
wday: 1
|
|
19
|
+
7:
|
|
20
|
+
- name: Independence Day
|
|
21
|
+
regions: [ups]
|
|
22
|
+
mday: 4
|
|
23
|
+
observed: to_weekday_if_weekend
|
|
24
|
+
9:
|
|
25
|
+
- name: Labor Day
|
|
26
|
+
week: 1
|
|
27
|
+
regions: [ups]
|
|
28
|
+
wday: 1
|
|
29
|
+
11:
|
|
30
|
+
- name: Thanksgiving
|
|
31
|
+
week: 4
|
|
32
|
+
regions: [ups]
|
|
33
|
+
wday: 4
|
|
34
|
+
- name: Day After Thanksgiving
|
|
35
|
+
week: 4
|
|
36
|
+
regions: [ups]
|
|
37
|
+
wday: 5
|
|
38
|
+
12:
|
|
39
|
+
- name: Christmas Day
|
|
40
|
+
regions: [ups]
|
|
41
|
+
mday: 25
|
|
42
|
+
observed: to_weekday_if_weekend
|
|
43
|
+
- name: New Year's Eve
|
|
44
|
+
regions: [ups]
|
|
45
|
+
mday: 31
|
|
46
|
+
tests: |
|
|
47
|
+
{Date.civil(2008,1,1) => 'New Year\'s Day',
|
|
48
|
+
Date.civil(2008,5,26) => 'Memorial Day',
|
|
49
|
+
Date.civil(2008,7,4) => 'Independence Day',
|
|
50
|
+
Date.civil(2008,9,1) => 'Labor Day',
|
|
51
|
+
Date.civil(2008,11,27) => 'Thanksgiving',
|
|
52
|
+
Date.civil(2008,11,28) => 'Day After Thanksgiving',
|
|
53
|
+
Date.civil(2008,12,25) => 'Christmas Day',
|
|
54
|
+
Date.civil(2008,12,31) => 'New Year\'s Eve',}.each do |date, name|
|
|
55
|
+
assert_equal name, (Holidays.on(date, :ups)[0] || {})[:name]
|
|
56
|
+
end
|
data/data/us.yaml
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# United States holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-24.
|
|
4
|
+
# Source: http://en.wikipedia.org/wiki/Public_holidays_of_the_United_States
|
|
5
|
+
---
|
|
6
|
+
months:
|
|
7
|
+
0:
|
|
8
|
+
- name: Good Friday
|
|
9
|
+
regions: [us]
|
|
10
|
+
function: easter(year)-2
|
|
11
|
+
type: informal
|
|
12
|
+
1:
|
|
13
|
+
- name: New Year's Day
|
|
14
|
+
regions: [us]
|
|
15
|
+
mday: 1
|
|
16
|
+
observed: to_weekday_if_weekend
|
|
17
|
+
- name: Martin Luther King, Jr. Day
|
|
18
|
+
week: 3
|
|
19
|
+
regions: [us]
|
|
20
|
+
wday: 1
|
|
21
|
+
- name: Inauguration Day
|
|
22
|
+
function: us_inauguration_day(year)
|
|
23
|
+
regions: [us_dc]
|
|
24
|
+
2:
|
|
25
|
+
- name: Presidents' Day
|
|
26
|
+
week: 3
|
|
27
|
+
regions: [us]
|
|
28
|
+
wday: 1
|
|
29
|
+
5:
|
|
30
|
+
- name: Memorial Day
|
|
31
|
+
week: -1
|
|
32
|
+
regions: [us]
|
|
33
|
+
wday: 1
|
|
34
|
+
7:
|
|
35
|
+
- name: Independence Day
|
|
36
|
+
regions: [us]
|
|
37
|
+
mday: 4
|
|
38
|
+
observed: to_weekday_if_weekend
|
|
39
|
+
9:
|
|
40
|
+
- name: Labor Day
|
|
41
|
+
week: 1
|
|
42
|
+
regions: [us]
|
|
43
|
+
wday: 1
|
|
44
|
+
10:
|
|
45
|
+
- name: Columbus Day
|
|
46
|
+
week: 2
|
|
47
|
+
regions: [us]
|
|
48
|
+
wday: 1
|
|
49
|
+
11:
|
|
50
|
+
- name: Veterans Day
|
|
51
|
+
regions: [us]
|
|
52
|
+
mday: 11
|
|
53
|
+
observed: to_weekday_if_weekend
|
|
54
|
+
- name: Thanksgiving
|
|
55
|
+
week: 4
|
|
56
|
+
regions: [us]
|
|
57
|
+
wday: 4
|
|
58
|
+
12:
|
|
59
|
+
- name: Christmas Day
|
|
60
|
+
regions: [us]
|
|
61
|
+
mday: 25
|
|
62
|
+
observed: to_weekday_if_weekend
|
|
63
|
+
methods:
|
|
64
|
+
us_inauguration_day: |
|
|
65
|
+
# January 20, every fourth year, following Presidential election
|
|
66
|
+
def self.us_inauguration_day(year)
|
|
67
|
+
year % 4 == 1 ? 20 : nil
|
|
68
|
+
end
|
|
69
|
+
tests: |
|
|
70
|
+
{Date.civil(2008,1,1) => 'New Year\'s Day',
|
|
71
|
+
Date.civil(2008,1,21) => 'Martin Luther King, Jr. Day',
|
|
72
|
+
Date.civil(2008,2,18) => 'Presidents\' Day',
|
|
73
|
+
Date.civil(2008,5,26) => 'Memorial Day',
|
|
74
|
+
Date.civil(2008,7,4) => 'Independence Day',
|
|
75
|
+
Date.civil(2008,9,1) => 'Labor Day',
|
|
76
|
+
Date.civil(2008,10,13) => 'Columbus Day',
|
|
77
|
+
Date.civil(2008,11,11) => 'Veterans Day',
|
|
78
|
+
Date.civil(2008,11,27) => 'Thanksgiving',
|
|
79
|
+
Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
|
|
80
|
+
assert_equal name, (Holidays.on(date, :us)[0] || {})[:name]
|
|
81
|
+
end
|
data/data/za.yaml
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# South African holiday definitions for the Ruby Holiday gem.
|
|
2
|
+
#
|
|
3
|
+
# Updated: 2008-11-29.
|
|
4
|
+
# Sources:
|
|
5
|
+
# - http://en.wikipedia.org/wiki/Public_holidays_in_South_Africa
|
|
6
|
+
# - http://www.info.gov.za/aboutsa/holidays.htm
|
|
7
|
+
---
|
|
8
|
+
months:
|
|
9
|
+
0:
|
|
10
|
+
- name: Good Friday
|
|
11
|
+
regions: [za]
|
|
12
|
+
function: easter(year)-2
|
|
13
|
+
- name: Family Day
|
|
14
|
+
regions: [za]
|
|
15
|
+
function: easter(year)+1
|
|
16
|
+
1:
|
|
17
|
+
- name: New Year's Day
|
|
18
|
+
regions: [za]
|
|
19
|
+
mday: 1
|
|
20
|
+
observed: to_monday_if_sunday
|
|
21
|
+
3:
|
|
22
|
+
- name: Human Rights Day
|
|
23
|
+
regions: [za]
|
|
24
|
+
mday: 21
|
|
25
|
+
observed: to_monday_if_sunday
|
|
26
|
+
4:
|
|
27
|
+
- name: Freedom Day
|
|
28
|
+
regions: [za]
|
|
29
|
+
mday: 27
|
|
30
|
+
observed: to_monday_if_sunday
|
|
31
|
+
5:
|
|
32
|
+
- name: Workers Day
|
|
33
|
+
regions: [za]
|
|
34
|
+
mday: 1
|
|
35
|
+
observed: to_monday_if_sunday
|
|
36
|
+
6:
|
|
37
|
+
- name: Youth Day
|
|
38
|
+
regions: [za]
|
|
39
|
+
mday: 16
|
|
40
|
+
observed: to_monday_if_sunday
|
|
41
|
+
8:
|
|
42
|
+
- name: National Women's Day
|
|
43
|
+
regions: [za]
|
|
44
|
+
mday: 9
|
|
45
|
+
observed: to_monday_if_sunday
|
|
46
|
+
9:
|
|
47
|
+
- name: Heritage Day
|
|
48
|
+
regions: [za]
|
|
49
|
+
mday: 24
|
|
50
|
+
observed: to_monday_if_sunday
|
|
51
|
+
12:
|
|
52
|
+
- name: Day of Reconciliation
|
|
53
|
+
regions: [za]
|
|
54
|
+
mday: 16
|
|
55
|
+
observed: to_monday_if_sunday
|
|
56
|
+
- name: Christmas Day
|
|
57
|
+
regions: [za]
|
|
58
|
+
mday: 25
|
|
59
|
+
observed: to_monday_if_sunday
|
|
60
|
+
- name: Day of Goodwill
|
|
61
|
+
regions: [za]
|
|
62
|
+
mday: 26
|
|
63
|
+
observed: to_weekday_if_boxing_weekend
|
|
64
|
+
tests: |
|
|
65
|
+
{Date.civil(2007,1,1) => 'New Year\'s Day',
|
|
66
|
+
Date.civil(2007,3,21) => 'Human Rights Day',
|
|
67
|
+
Date.civil(2007,4,6) => 'Good Friday',
|
|
68
|
+
Date.civil(2007,4,9) => 'Family Day',
|
|
69
|
+
Date.civil(2007,4,27) => 'Freedom Day',
|
|
70
|
+
Date.civil(2007,5,1) => 'Workers Day',
|
|
71
|
+
Date.civil(2007,6,16) => 'Youth Day',
|
|
72
|
+
Date.civil(2007,8,9) => 'National Women\'s Day',
|
|
73
|
+
Date.civil(2007,9,24) => 'Heritage Day',
|
|
74
|
+
Date.civil(2007,12,16) => 'Day of Reconciliation',
|
|
75
|
+
Date.civil(2007,12,25) => 'Christmas Day',
|
|
76
|
+
Date.civil(2007,12,26) => 'Day of Goodwill'}.each do |date, name|
|
|
77
|
+
assert_equal name, (Holidays.on(date, :za, :informal)[0] || {})[:name]
|
|
78
|
+
end
|