holidays 1.2.0 → 2.0.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +1 -1
- data/data/be.yaml +22 -22
- data/data/index.yaml +1 -0
- data/data/ph.yaml +87 -0
- data/data/us.yaml +12 -0
- data/holidays.gemspec +2 -0
- data/lib/holidays/MANIFEST +1 -0
- data/lib/holidays/be.rb +11 -11
- data/lib/holidays/europe.rb +11 -11
- data/lib/holidays/north_america.rb +4 -2
- data/lib/holidays/ph.rb +52 -0
- data/lib/holidays/us.rb +5 -3
- data/lib/holidays/version.rb +1 -1
- data/test/defs/test_defs_be.rb +11 -11
- data/test/defs/test_defs_europe.rb +11 -11
- data/test/defs/test_defs_north_america.rb +4 -0
- data/test/defs/test_defs_ph.rb +25 -0
- data/test/defs/test_defs_us.rb +4 -0
- data/test/test_helper.rb +3 -0
- metadata +34 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bc0c740698c7bcfadd4790786cb1608c2376473
|
4
|
+
data.tar.gz: 2920fa5efbd181e979856a7d0af8e70cdc253d3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9622f1697699f8f9921fb74a5178f809b3f5b0598892d2d3fbb48bf47763cee2152aac30470d0c0c3ab2b917a5069c77f40a0c613be30435abe7fa878525e18c
|
7
|
+
data.tar.gz: a18c5423a237e3431bd501fc61b0b2200d440e1d43bcb1093862dfc40a40e196b6101aafa4cd7c681632d95ed55b00cbce6a71d8066e234438a4b1d436cb4770
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Ruby Holidays Gem CHANGELOG
|
2
2
|
|
3
|
+
## 2.0.0
|
4
|
+
|
5
|
+
* Add test coverage
|
6
|
+
* Remove support for Ruby 1.8.7 and REE. (https://github.com/itsmechlark)
|
7
|
+
* Add support for Ruby 2.2 (https://github.com/itsmechlark)
|
8
|
+
* Add PH holidays (https://github.com/itsmechlark)
|
9
|
+
* Belgian holidays now written in French instead of English (https://github.com/maximerety)
|
10
|
+
* Update California (USA) holidays to include Cesar Chavez and Thanksgiving (https://github.com/evansagge)
|
11
|
+
|
3
12
|
## 1.2.0
|
4
13
|
|
5
14
|
* Remove inauguration day from USA Federal Reserve definitions (https://github.com/aripollak)
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Ruby Holidays Gem [](https://travis-ci.org/alexdunae/holidays)
|
1
|
+
# Ruby Holidays Gem [](https://travis-ci.org/alexdunae/holidays) [](https://coveralls.io/r/alexdunae/holidays)
|
2
2
|
|
3
3
|
A set of functions to deal with holidays in Ruby.
|
4
4
|
|
data/data/be.yaml
CHANGED
@@ -6,60 +6,60 @@
|
|
6
6
|
---
|
7
7
|
months:
|
8
8
|
0:
|
9
|
-
- name:
|
9
|
+
- name: Pâques
|
10
10
|
regions: [be]
|
11
11
|
function: easter(year)
|
12
|
-
- name:
|
12
|
+
- name: Lundi de Pâques
|
13
13
|
regions: [be]
|
14
14
|
function: easter(year)+1
|
15
15
|
- name: Ascension
|
16
16
|
regions: [be]
|
17
17
|
function: easter(year)+39
|
18
|
-
- name:
|
18
|
+
- name: Pentecôte
|
19
19
|
regions: [be]
|
20
20
|
function: easter(year)+49
|
21
|
-
- name:
|
21
|
+
- name: Lundi de Pentecôte
|
22
22
|
regions: [be]
|
23
23
|
function: easter(year)+50
|
24
24
|
1:
|
25
|
-
- name:
|
25
|
+
- name: Jour de l'an
|
26
26
|
regions: [be]
|
27
27
|
mday: 1
|
28
28
|
5:
|
29
|
-
- name:
|
29
|
+
- name: Fête du travail
|
30
30
|
regions: [be]
|
31
31
|
mday: 1
|
32
32
|
7:
|
33
|
-
- name:
|
33
|
+
- name: Fête nationale
|
34
34
|
regions: [be]
|
35
35
|
mday: 21
|
36
36
|
8:
|
37
|
-
- name:
|
37
|
+
- name: Assomption
|
38
38
|
regions: [be]
|
39
39
|
mday: 15
|
40
40
|
11:
|
41
|
-
- name:
|
41
|
+
- name: Toussaint
|
42
42
|
regions: [be]
|
43
43
|
mday: 1
|
44
|
-
- name: Armistice
|
44
|
+
- name: Armistice 1918
|
45
45
|
regions: [be]
|
46
46
|
mday: 11
|
47
47
|
12:
|
48
|
-
- name:
|
48
|
+
- name: Noël
|
49
49
|
regions: [be]
|
50
50
|
mday: 25
|
51
51
|
tests: |
|
52
|
-
{Date.civil(2007,1,1) => '
|
53
|
-
Date.civil(2007,4,8) => '
|
54
|
-
Date.civil(2007,4,9) => '
|
55
|
-
Date.civil(2007,5,1) => '
|
52
|
+
{Date.civil(2007,1,1) => 'Jour de l\'an',
|
53
|
+
Date.civil(2007,4,8) => 'Pâques',
|
54
|
+
Date.civil(2007,4,9) => 'Lundi de Pâques',
|
55
|
+
Date.civil(2007,5,1) => 'Fête du travail',
|
56
56
|
Date.civil(2007,5,17) => 'Ascension',
|
57
|
-
Date.civil(2007,5,27) => '
|
58
|
-
Date.civil(2007,5,28) => '
|
59
|
-
Date.civil(2007,7,21) => '
|
60
|
-
Date.civil(2007,8,15) => '
|
61
|
-
Date.civil(2007,11,1) => '
|
62
|
-
Date.civil(2007,11,11) => 'Armistice
|
63
|
-
Date.civil(2007,12,25) => '
|
57
|
+
Date.civil(2007,5,27) => 'Pentecôte',
|
58
|
+
Date.civil(2007,5,28) => 'Lundi de Pentecôte',
|
59
|
+
Date.civil(2007,7,21) => 'Fête nationale',
|
60
|
+
Date.civil(2007,8,15) => 'Assomption',
|
61
|
+
Date.civil(2007,11,1) => 'Toussaint',
|
62
|
+
Date.civil(2007,11,11) => 'Armistice 1918',
|
63
|
+
Date.civil(2007,12,25) => 'Noël'}.each do |date, name|
|
64
64
|
assert_equal name, (Holidays.on(date, :be, :informal)[0] || {})[:name]
|
65
65
|
end
|
data/data/index.yaml
CHANGED
data/data/ph.yaml
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
# Philippines holiday definitions for the Ruby Holiday gem.
|
2
|
+
#
|
3
|
+
# Updated: 2015-03-25 by itsmechlark
|
4
|
+
# Sources:
|
5
|
+
# - http://www.gov.ph/2014/07/23/list-of-nationwide-holidays-for-2015/
|
6
|
+
# - http://www.timeanddate.com/holidays/philippines/
|
7
|
+
---
|
8
|
+
months:
|
9
|
+
0:
|
10
|
+
- name: Maundy Thursday
|
11
|
+
regions: [ph]
|
12
|
+
function: easter(year)-3
|
13
|
+
- name: Good Friday
|
14
|
+
regions: [ph]
|
15
|
+
function: easter(year)-2
|
16
|
+
- name: Holy Saturday
|
17
|
+
regions: [ph]
|
18
|
+
function: easter(year)-1
|
19
|
+
- name: Easter Sunday
|
20
|
+
regions: [ph]
|
21
|
+
function: easter(year)
|
22
|
+
1:
|
23
|
+
- name: New Year’s Day
|
24
|
+
regions: [ph]
|
25
|
+
mday: 1
|
26
|
+
2:
|
27
|
+
- name: People Power Anniversary
|
28
|
+
regions: [ph]
|
29
|
+
mday: 25
|
30
|
+
4:
|
31
|
+
- name: The Day of Valor
|
32
|
+
regions: [ph]
|
33
|
+
mday: 9
|
34
|
+
5:
|
35
|
+
- name: Labor Day
|
36
|
+
regions: [ph]
|
37
|
+
mday: 1
|
38
|
+
6:
|
39
|
+
- name: Independence Day
|
40
|
+
regions: [ph]
|
41
|
+
mday: 12
|
42
|
+
8:
|
43
|
+
- name: Ninoy Aquino Day
|
44
|
+
regions: [ph]
|
45
|
+
mday: 21
|
46
|
+
- name: National Heroes Day
|
47
|
+
regions: [ph]
|
48
|
+
function: ph_heroes_day(year)
|
49
|
+
11:
|
50
|
+
- name: All Saints Day
|
51
|
+
regions: [ph]
|
52
|
+
mday: 1
|
53
|
+
- name: Bonifacio Day
|
54
|
+
regions: [ph]
|
55
|
+
mday: 30
|
56
|
+
12:
|
57
|
+
- name: Christmas Day
|
58
|
+
regions: [ph]
|
59
|
+
mday: 25
|
60
|
+
- name: Rizal Day
|
61
|
+
regions: [ph]
|
62
|
+
mday: 30
|
63
|
+
- name: New Year's Eve
|
64
|
+
regions: [ph]
|
65
|
+
mday: 31
|
66
|
+
methods:
|
67
|
+
ph_heroes_day: |
|
68
|
+
# last Monday of August
|
69
|
+
def self.ph_heroes_day(year)
|
70
|
+
date = Date.new(year, 8, -1)
|
71
|
+
return date if date.wday == 1
|
72
|
+
date -= date.wday - 1
|
73
|
+
end
|
74
|
+
tests: |
|
75
|
+
{Date.civil(2015,2,25) => 'People Power Anniversary',
|
76
|
+
Date.civil(2015,4,3) => 'Good Friday',
|
77
|
+
Date.civil(2015,4,9) => 'The Day of Valor',
|
78
|
+
Date.civil(2015,5,1) => 'Labor Day',
|
79
|
+
Date.civil(2015,6,12) => 'Independence Day',
|
80
|
+
Date.civil(2015,8,21) => 'Ninoy Aquino Day',
|
81
|
+
Date.civil(2015,8,31) => 'National Heroes Day',
|
82
|
+
Date.civil(2015,11,1) => 'All Saints Day',
|
83
|
+
Date.civil(2015,11,30) => 'Bonifacio Day',
|
84
|
+
Date.civil(2015,12,25) => 'Christmas Day',
|
85
|
+
Date.civil(2015,12,30) => 'Rizal Day'}.each do |date, name|
|
86
|
+
assert_equal name, (Holidays.on(date, :ph)[0] || {})[:name]
|
87
|
+
end
|
data/data/us.yaml
CHANGED
@@ -30,6 +30,10 @@ months:
|
|
30
30
|
week: 3
|
31
31
|
regions: [us]
|
32
32
|
wday: 1
|
33
|
+
3:
|
34
|
+
- name: 'Cesar Chavez Day'
|
35
|
+
regions: [us_ca]
|
36
|
+
mday: 31
|
33
37
|
5:
|
34
38
|
- name: Memorial Day
|
35
39
|
week: -1
|
@@ -59,6 +63,10 @@ months:
|
|
59
63
|
week: 4
|
60
64
|
regions: [us]
|
61
65
|
wday: 4
|
66
|
+
- name: Day after Thanksgiving
|
67
|
+
week: 4
|
68
|
+
regions: [us_ca]
|
69
|
+
wday: 5
|
62
70
|
12:
|
63
71
|
- name: Christmas Day
|
64
72
|
regions: [us]
|
@@ -83,3 +91,7 @@ tests: |
|
|
83
91
|
Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
|
84
92
|
assert_equal name, (Holidays.on(date, :us)[0] || {})[:name]
|
85
93
|
end
|
94
|
+
{Date.civil(2008, 3, 31) => 'Cesar Chavez Day',
|
95
|
+
Date.civil(2008, 11, 28) => 'Day after Thanksgiving'}.each do |date, name|
|
96
|
+
assert_equal name, (Holidays.on(date, :us, :us_ca)[0] || {})[:name]
|
97
|
+
end
|
data/holidays.gemspec
CHANGED
data/lib/holidays/MANIFEST
CHANGED
data/lib/holidays/be.rb
CHANGED
@@ -18,18 +18,18 @@ module Holidays
|
|
18
18
|
|
19
19
|
def self.holidays_by_month
|
20
20
|
{
|
21
|
-
0 => [{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "
|
22
|
-
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pâques", :regions => [:be]},
|
22
|
+
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lundi de Pâques", :regions => [:be]},
|
23
23
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Ascension", :regions => [:be]},
|
24
|
-
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "
|
25
|
-
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "
|
26
|
-
1 => [{:mday => 1, :name => "
|
27
|
-
5 => [{:mday => 1, :name => "
|
28
|
-
7 => [{:mday => 21, :name => "
|
29
|
-
8 => [{:mday => 15, :name => "
|
30
|
-
11 => [{:mday => 1, :name => "
|
31
|
-
{:mday => 11, :name => "Armistice
|
32
|
-
12 => [{:mday => 25, :name => "
|
24
|
+
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pentecôte", :regions => [:be]},
|
25
|
+
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Lundi de Pentecôte", :regions => [:be]}],
|
26
|
+
1 => [{:mday => 1, :name => "Jour de l'an", :regions => [:be]}],
|
27
|
+
5 => [{:mday => 1, :name => "Fête du travail", :regions => [:be]}],
|
28
|
+
7 => [{:mday => 21, :name => "Fête nationale", :regions => [:be]}],
|
29
|
+
8 => [{:mday => 15, :name => "Assomption", :regions => [:be]}],
|
30
|
+
11 => [{:mday => 1, :name => "Toussaint", :regions => [:be]},
|
31
|
+
{:mday => 11, :name => "Armistice 1918", :regions => [:be]}],
|
32
|
+
12 => [{:mday => 25, :name => "Noël", :regions => [:be]}]
|
33
33
|
}
|
34
34
|
end
|
35
35
|
end
|
data/lib/holidays/europe.rb
CHANGED
@@ -22,11 +22,11 @@ module Holidays
|
|
22
22
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:at]},
|
23
23
|
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:at]},
|
24
24
|
{:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:at]},
|
25
|
-
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "
|
26
|
-
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "
|
25
|
+
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pâques", :regions => [:be]},
|
26
|
+
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lundi de Pâques", :regions => [:be]},
|
27
27
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Ascension", :regions => [:be]},
|
28
|
-
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "
|
29
|
-
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "
|
28
|
+
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pentecôte", :regions => [:be]},
|
29
|
+
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Lundi de Pentecôte", :regions => [:be]},
|
30
30
|
{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju]},
|
31
31
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
|
32
32
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Auffahrt", :regions => [:ch]},
|
@@ -135,7 +135,7 @@ module Holidays
|
|
135
135
|
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "binkošti", :regions => [:si]}],
|
136
136
|
1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
|
137
137
|
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:at]},
|
138
|
-
{:mday => 1, :name => "
|
138
|
+
{:mday => 1, :name => "Jour de l'an", :regions => [:be]},
|
139
139
|
{:mday => 1, :name => "Neujahrstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ge, :ch_ju, :ch_ti]},
|
140
140
|
{:mday => 2, :name => "Berchtoldstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_sh, :ch_sg, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ju]},
|
141
141
|
{:mday => 6, :name => "Dreikönigstag", :regions => [:ch_ur, :ch_sz, :ch_ti]},
|
@@ -175,7 +175,7 @@ module Holidays
|
|
175
175
|
{:mday => 1, :name => "Nový rok", :regions => [:sk]},
|
176
176
|
{:mday => 1, :name => "novo leto", :regions => [:si]}],
|
177
177
|
5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]},
|
178
|
-
{:mday => 1, :name => "
|
178
|
+
{:mday => 1, :name => "Fête du travail", :regions => [:be]},
|
179
179
|
{:mday => 1, :name => "Tag der Arbeit", :regions => [:ch_zh, :ch_bs, :ch_bl, :ch_sh, :ch_ag, :ch_tg, :ch_ti, :ch_ne, :ch_ju]},
|
180
180
|
{:mday => 1, :name => "Svátek práce", :regions => [:cz]},
|
181
181
|
{:mday => 8, :name => "Den vítězství", :regions => [:cz]},
|
@@ -214,7 +214,7 @@ module Holidays
|
|
214
214
|
{:mday => 1, :name => "praznik dela", :regions => [:si]},
|
215
215
|
{:mday => 2, :name => "praznik dela", :regions => [:si]}],
|
216
216
|
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at]},
|
217
|
-
{:mday => 15, :name => "
|
217
|
+
{:mday => 15, :name => "Assomption", :regions => [:be]},
|
218
218
|
{:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
|
219
219
|
{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ju]},
|
220
220
|
{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]},
|
@@ -250,8 +250,8 @@ module Holidays
|
|
250
250
|
{:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]},
|
251
251
|
{:mday => 31, :name => "dan reformacije", :regions => [:si]}],
|
252
252
|
11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]},
|
253
|
-
{:mday => 1, :name => "
|
254
|
-
{:mday => 11, :name => "Armistice
|
253
|
+
{:mday => 1, :name => "Toussaint", :regions => [:be]},
|
254
|
+
{:mday => 11, :name => "Armistice 1918", :regions => [:be]},
|
255
255
|
{:mday => 1, :name => "Allerheiligen", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_sg, :ch_ag, :ch_ti, :ch_vs, :ch_ju]},
|
256
256
|
{:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
|
257
257
|
{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
|
@@ -279,7 +279,7 @@ module Holidays
|
|
279
279
|
12 => [{:mday => 8, :name => "Mariä Empfägnis", :regions => [:at]},
|
280
280
|
{:mday => 25, :name => "1. Weihnachtstag", :regions => [:at]},
|
281
281
|
{:mday => 26, :name => "2. Weihnachtstag", :regions => [:at]},
|
282
|
-
{:mday => 25, :name => "
|
282
|
+
{:mday => 25, :name => "Noël", :regions => [:be]},
|
283
283
|
{:mday => 8, :name => "Maria Empfängnis", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_ai, :ch_ag, :ch_ti, :ch_vs]},
|
284
284
|
{:mday => 25, :name => "Weihnachten", :regions => [:ch]},
|
285
285
|
{:mday => 26, :name => "Stefanstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vs, :ch_ne]},
|
@@ -346,7 +346,7 @@ module Holidays
|
|
346
346
|
{:mday => 26, :name => "2. sviatek vianočný", :regions => [:sk]},
|
347
347
|
{:mday => 25, :name => "božič", :regions => [:si]},
|
348
348
|
{:mday => 26, :name => "dan samostojnosti in enotnosti", :regions => [:si]}],
|
349
|
-
7 => [{:mday => 21, :name => "
|
349
|
+
7 => [{:mday => 21, :name => "Fête nationale", :regions => [:be]},
|
350
350
|
{:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
|
351
351
|
{:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]},
|
352
352
|
{:mday => 23, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Santiago Apostol", :regions => [:es_ga]},
|
@@ -13,7 +13,7 @@ module Holidays
|
|
13
13
|
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module NORTH_AMERICA # :nodoc:
|
15
15
|
def self.defined_regions
|
16
|
-
[:ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_ns, :ca_pe, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_nb, :ca_yk, :mx, :mx_pue, :us, :us_dc]
|
16
|
+
[:ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_ns, :ca_pe, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_nb, :ca_yk, :mx, :mx_pue, :us, :us_ca, :us_dc]
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.holidays_by_month
|
@@ -41,6 +41,7 @@ module Holidays
|
|
41
41
|
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
|
42
42
|
3 => [{:mday => 23, :name => "St. George's Day", :regions => [:ca_nf]},
|
43
43
|
{:wday => 1, :week => 3, :name => "Natalicio de Benito Juárez", :regions => [:mx]},
|
44
|
+
{:mday => 31, :name => "Cesar Chavez Day", :regions => [:us_ca]},
|
44
45
|
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
45
46
|
5 => [{:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "Victoria Day", :regions => [:ca]},
|
46
47
|
{:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "National Patriotes Day", :regions => [:ca_qc]},
|
@@ -81,7 +82,8 @@ module Holidays
|
|
81
82
|
{:mday => 2, :type => :informal, :name => "Los Fieles Difuntos", :regions => [:mx]},
|
82
83
|
{:wday => 1, :week => 3, :name => "Día de la Revolución", :regions => [:mx]},
|
83
84
|
{:mday => 11, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Veterans Day", :regions => [:us]},
|
84
|
-
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]}
|
85
|
+
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]},
|
86
|
+
{:wday => 5, :week => 4, :name => "Day after Thanksgiving", :regions => [:us_ca]}],
|
85
87
|
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ca]},
|
86
88
|
{:mday => 26, :name => "Boxing Day", :regions => [:ca]},
|
87
89
|
{:mday => 12, :type => :informal, :name => "Día de la Virgen de Guadalupe", :regions => [:mx]},
|
data/lib/holidays/ph.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Holidays
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
|
+
#
|
5
|
+
# Definitions loaded: data/ph.yaml
|
6
|
+
#
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
|
+
# Holiday gem:
|
9
|
+
#
|
10
|
+
# require 'holidays'
|
11
|
+
# require 'holidays/ph'
|
12
|
+
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
|
+
module PH # :nodoc:
|
15
|
+
def self.defined_regions
|
16
|
+
[:ph]
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Maundy Thursday", :regions => [:ph]},
|
22
|
+
{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:ph]},
|
23
|
+
{:function => lambda { |year| Holidays.easter(year)-1 }, :function_id => "easter(year)-1", :name => "Holy Saturday", :regions => [:ph]},
|
24
|
+
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Easter Sunday", :regions => [:ph]}],
|
25
|
+
1 => [{:mday => 1, :name => "New Year’s Day", :regions => [:ph]}],
|
26
|
+
2 => [{:mday => 25, :name => "People Power Anniversary", :regions => [:ph]}],
|
27
|
+
4 => [{:mday => 9, :name => "The Day of Valor", :regions => [:ph]}],
|
28
|
+
5 => [{:mday => 1, :name => "Labor Day", :regions => [:ph]}],
|
29
|
+
6 => [{:mday => 12, :name => "Independence Day", :regions => [:ph]}],
|
30
|
+
8 => [{:mday => 21, :name => "Ninoy Aquino Day", :regions => [:ph]},
|
31
|
+
{:function => lambda { |year| Holidays.ph_heroes_day(year) }, :function_id => "ph_heroes_day(year)", :name => "National Heroes Day", :regions => [:ph]}],
|
32
|
+
11 => [{:mday => 1, :name => "All Saints Day", :regions => [:ph]},
|
33
|
+
{:mday => 30, :name => "Bonifacio Day", :regions => [:ph]}],
|
34
|
+
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ph]},
|
35
|
+
{:mday => 30, :name => "Rizal Day", :regions => [:ph]},
|
36
|
+
{:mday => 31, :name => "New Year's Eve", :regions => [:ph]}]
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# last Monday of August
|
42
|
+
def self.ph_heroes_day(year)
|
43
|
+
date = Date.new(year, 8, -1)
|
44
|
+
return date if date.wday == 1
|
45
|
+
date -= date.wday - 1
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
Holidays.merge_defs(Holidays::PH.defined_regions, Holidays::PH.holidays_by_month)
|
data/lib/holidays/us.rb
CHANGED
@@ -13,7 +13,7 @@ module Holidays
|
|
13
13
|
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module US # :nodoc:
|
15
15
|
def self.defined_regions
|
16
|
-
[:us, :us_dc, :ca]
|
16
|
+
[:us, :us_dc, :us_ca, :ca]
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.holidays_by_month
|
@@ -26,6 +26,8 @@ module Holidays
|
|
26
26
|
2 => [{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
|
27
27
|
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
|
28
28
|
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
|
29
|
+
3 => [{:mday => 31, :name => "Cesar Chavez Day", :regions => [:us_ca]},
|
30
|
+
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
29
31
|
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
|
30
32
|
{:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
|
31
33
|
{:wday => 6, :week => 3, :type => :informal, :name => "Armed Forces Day", :regions => [:us]}],
|
@@ -34,9 +36,9 @@ module Holidays
|
|
34
36
|
10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]},
|
35
37
|
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
|
36
38
|
11 => [{:mday => 11, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Veterans Day", :regions => [:us]},
|
37
|
-
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]}
|
39
|
+
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]},
|
40
|
+
{:wday => 5, :week => 4, :name => "Day after Thanksgiving", :regions => [:us_ca]}],
|
38
41
|
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:us]}],
|
39
|
-
3 => [{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
40
42
|
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
|
41
43
|
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
|
42
44
|
6 => [{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}]
|
data/lib/holidays/version.rb
CHANGED
data/test/defs/test_defs_be.rb
CHANGED
@@ -7,18 +7,18 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
7
7
|
class BeDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
8
|
|
9
9
|
def test_be
|
10
|
-
{Date.civil(2007,1,1) => '
|
11
|
-
Date.civil(2007,4,8) => '
|
12
|
-
Date.civil(2007,4,9) => '
|
13
|
-
Date.civil(2007,5,1) => '
|
10
|
+
{Date.civil(2007,1,1) => 'Jour de l\'an',
|
11
|
+
Date.civil(2007,4,8) => 'Pâques',
|
12
|
+
Date.civil(2007,4,9) => 'Lundi de Pâques',
|
13
|
+
Date.civil(2007,5,1) => 'Fête du travail',
|
14
14
|
Date.civil(2007,5,17) => 'Ascension',
|
15
|
-
Date.civil(2007,5,27) => '
|
16
|
-
Date.civil(2007,5,28) => '
|
17
|
-
Date.civil(2007,7,21) => '
|
18
|
-
Date.civil(2007,8,15) => '
|
19
|
-
Date.civil(2007,11,1) => '
|
20
|
-
Date.civil(2007,11,11) => 'Armistice
|
21
|
-
Date.civil(2007,12,25) => '
|
15
|
+
Date.civil(2007,5,27) => 'Pentecôte',
|
16
|
+
Date.civil(2007,5,28) => 'Lundi de Pentecôte',
|
17
|
+
Date.civil(2007,7,21) => 'Fête nationale',
|
18
|
+
Date.civil(2007,8,15) => 'Assomption',
|
19
|
+
Date.civil(2007,11,1) => 'Toussaint',
|
20
|
+
Date.civil(2007,11,11) => 'Armistice 1918',
|
21
|
+
Date.civil(2007,12,25) => 'Noël'}.each do |date, name|
|
22
22
|
assert_equal name, (Holidays.on(date, :be, :informal)[0] || {})[:name]
|
23
23
|
end
|
24
24
|
end
|
@@ -21,18 +21,18 @@ end
|
|
21
21
|
assert !Date.civil(2010,5,8).holiday?(:at), '2010-05-08 is not a holiday in Austria'
|
22
22
|
|
23
23
|
|
24
|
-
{Date.civil(2007,1,1) => '
|
25
|
-
Date.civil(2007,4,8) => '
|
26
|
-
Date.civil(2007,4,9) => '
|
27
|
-
Date.civil(2007,5,1) => '
|
24
|
+
{Date.civil(2007,1,1) => 'Jour de l\'an',
|
25
|
+
Date.civil(2007,4,8) => 'Pâques',
|
26
|
+
Date.civil(2007,4,9) => 'Lundi de Pâques',
|
27
|
+
Date.civil(2007,5,1) => 'Fête du travail',
|
28
28
|
Date.civil(2007,5,17) => 'Ascension',
|
29
|
-
Date.civil(2007,5,27) => '
|
30
|
-
Date.civil(2007,5,28) => '
|
31
|
-
Date.civil(2007,7,21) => '
|
32
|
-
Date.civil(2007,8,15) => '
|
33
|
-
Date.civil(2007,11,1) => '
|
34
|
-
Date.civil(2007,11,11) => 'Armistice
|
35
|
-
Date.civil(2007,12,25) => '
|
29
|
+
Date.civil(2007,5,27) => 'Pentecôte',
|
30
|
+
Date.civil(2007,5,28) => 'Lundi de Pentecôte',
|
31
|
+
Date.civil(2007,7,21) => 'Fête nationale',
|
32
|
+
Date.civil(2007,8,15) => 'Assomption',
|
33
|
+
Date.civil(2007,11,1) => 'Toussaint',
|
34
|
+
Date.civil(2007,11,11) => 'Armistice 1918',
|
35
|
+
Date.civil(2007,12,25) => 'Noël'}.each do |date, name|
|
36
36
|
assert_equal name, (Holidays.on(date, :be, :informal)[0] || {})[:name]
|
37
37
|
end
|
38
38
|
|
@@ -82,6 +82,10 @@ end
|
|
82
82
|
Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
|
83
83
|
assert_equal name, (Holidays.on(date, :us)[0] || {})[:name]
|
84
84
|
end
|
85
|
+
{Date.civil(2008, 3, 31) => 'Cesar Chavez Day',
|
86
|
+
Date.civil(2008, 11, 28) => 'Day after Thanksgiving'}.each do |date, name|
|
87
|
+
assert_equal name, (Holidays.on(date, :us, :us_ca)[0] || {})[:name]
|
88
|
+
end
|
85
89
|
|
86
90
|
|
87
91
|
{Date.civil(2013,2,2) => 'Groundhog Day',
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
3
|
+
|
4
|
+
# This file is generated by the Ruby Holiday gem.
|
5
|
+
#
|
6
|
+
# Definitions loaded: data/ph.yaml
|
7
|
+
class PhDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_ph
|
10
|
+
{Date.civil(2015,2,25) => 'People Power Anniversary',
|
11
|
+
Date.civil(2015,4,3) => 'Good Friday',
|
12
|
+
Date.civil(2015,4,9) => 'The Day of Valor',
|
13
|
+
Date.civil(2015,5,1) => 'Labor Day',
|
14
|
+
Date.civil(2015,6,12) => 'Independence Day',
|
15
|
+
Date.civil(2015,8,21) => 'Ninoy Aquino Day',
|
16
|
+
Date.civil(2015,8,31) => 'National Heroes Day',
|
17
|
+
Date.civil(2015,11,1) => 'All Saints Day',
|
18
|
+
Date.civil(2015,11,30) => 'Bonifacio Day',
|
19
|
+
Date.civil(2015,12,25) => 'Christmas Day',
|
20
|
+
Date.civil(2015,12,30) => 'Rizal Day'}.each do |date, name|
|
21
|
+
assert_equal name, (Holidays.on(date, :ph)[0] || {})[:name]
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/test/defs/test_defs_us.rb
CHANGED
@@ -19,6 +19,10 @@ class UsDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
19
19
|
Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
|
20
20
|
assert_equal name, (Holidays.on(date, :us)[0] || {})[:name]
|
21
21
|
end
|
22
|
+
{Date.civil(2008, 3, 31) => 'Cesar Chavez Day',
|
23
|
+
Date.civil(2008, 11, 28) => 'Day after Thanksgiving'}.each do |date, name|
|
24
|
+
assert_equal name, (Holidays.on(date, :us, :us_ca)[0] || {})[:name]
|
25
|
+
end
|
22
26
|
|
23
27
|
|
24
28
|
{Date.civil(2013,2,2) => 'Groundhog Day',
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: holidays
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dunae
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,34 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: coveralls
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
41
69
|
description: A collection of Ruby methods to deal with statutory and other holidays.
|
42
70
|
You deserve a holiday!
|
43
71
|
email:
|
@@ -91,6 +119,7 @@ files:
|
|
91
119
|
- data/north_america_informal.yaml
|
92
120
|
- data/nyse.yaml
|
93
121
|
- data/nz.yaml
|
122
|
+
- data/ph.yaml
|
94
123
|
- data/pl.yaml
|
95
124
|
- data/pt.yaml
|
96
125
|
- data/ro.yaml
|
@@ -144,6 +173,7 @@ files:
|
|
144
173
|
- lib/holidays/north_america.rb
|
145
174
|
- lib/holidays/nyse.rb
|
146
175
|
- lib/holidays/nz.rb
|
176
|
+
- lib/holidays/ph.rb
|
147
177
|
- lib/holidays/pl.rb
|
148
178
|
- lib/holidays/pt.rb
|
149
179
|
- lib/holidays/ro.rb
|
@@ -199,6 +229,7 @@ files:
|
|
199
229
|
- test/defs/test_defs_north_america.rb
|
200
230
|
- test/defs/test_defs_nyse.rb
|
201
231
|
- test/defs/test_defs_nz.rb
|
232
|
+
- test/defs/test_defs_ph.rb
|
202
233
|
- test/defs/test_defs_pl.rb
|
203
234
|
- test/defs/test_defs_pt.rb
|
204
235
|
- test/defs/test_defs_ro.rb
|
@@ -285,6 +316,7 @@ test_files:
|
|
285
316
|
- test/defs/test_defs_north_america.rb
|
286
317
|
- test/defs/test_defs_nyse.rb
|
287
318
|
- test/defs/test_defs_nz.rb
|
319
|
+
- test/defs/test_defs_ph.rb
|
288
320
|
- test/defs/test_defs_pl.rb
|
289
321
|
- test/defs/test_defs_pt.rb
|
290
322
|
- test/defs/test_defs_ro.rb
|