holidays 1.2.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/alexdunae/holidays.svg?branch=master)](https://travis-ci.org/alexdunae/holidays)
|
1
|
+
# Ruby Holidays Gem [![Build Status](https://travis-ci.org/alexdunae/holidays.svg?branch=master)](https://travis-ci.org/alexdunae/holidays) [![Coverage Status](https://coveralls.io/repos/alexdunae/holidays/badge.svg)](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
|