holidays 1.0.1 → 1.0.2
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 +3 -0
- data/README.rdoc +1 -1
- data/data/el.yaml +79 -0
- data/data/index.yaml +2 -1
- data/holidays.gemspec +136 -130
- data/lib/holidays.rb +28 -1
- data/lib/holidays/au.rb +10 -10
- data/lib/holidays/br.rb +6 -6
- data/lib/holidays/ca.rb +17 -17
- data/lib/holidays/cz.rb +7 -7
- data/lib/holidays/de.rb +7 -7
- data/lib/holidays/dk.rb +8 -8
- data/lib/holidays/el.rb +38 -0
- data/lib/holidays/es.rb +17 -17
- data/lib/holidays/europe.rb +102 -88
- data/lib/holidays/fi.rb +8 -8
- data/lib/holidays/fr.rb +6 -6
- data/lib/holidays/gb.rb +9 -9
- data/lib/holidays/ie.rb +6 -6
- data/lib/holidays/is.rb +9 -9
- data/lib/holidays/it.rb +6 -6
- data/lib/holidays/jp.rb +43 -43
- data/lib/holidays/mx.rb +16 -16
- data/lib/holidays/nl.rb +4 -4
- data/lib/holidays/no.rb +2 -2
- data/lib/holidays/north_america.rb +37 -37
- data/lib/holidays/nyse.rb +5 -5
- data/lib/holidays/nz.rb +13 -13
- data/lib/holidays/pt.rb +7 -7
- data/lib/holidays/scandinavia.rb +39 -39
- data/lib/holidays/se.rb +9 -9
- data/lib/holidays/ups.rb +4 -4
- data/lib/holidays/us.rb +10 -10
- data/lib/holidays/za.rb +7 -7
- data/test/defs/test_defs_el.rb +28 -0
- data/test/defs/test_defs_europe.rb +19 -1
- data/test/test_holidays.rb +8 -0
- metadata +10 -5
data/lib/holidays/nyse.rb
CHANGED
@@ -15,15 +15,15 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:nyse]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
+
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:nyse]}],
|
18
19
|
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:nyse]}],
|
20
|
+
11 => [{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:nyse]}],
|
19
21
|
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:nyse]},
|
20
22
|
{:wday => 1, :week => 3, :name => "Martin Luther King, Jr. Day", :regions => [:nyse]}],
|
21
|
-
|
22
|
-
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:nyse]}],
|
23
|
+
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:nyse]}],
|
23
24
|
7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Independence Day", :regions => [:nyse]}],
|
24
|
-
|
25
|
-
|
26
|
-
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:nyse]}]
|
25
|
+
2 => [{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:nyse]}],
|
26
|
+
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:nyse]}]
|
27
27
|
}
|
28
28
|
end
|
29
29
|
|
data/lib/holidays/nz.rb
CHANGED
@@ -12,33 +12,33 @@ module Holidays
|
|
12
12
|
#
|
13
13
|
# More definitions are available at http://code.dunae.ca/holidays.
|
14
14
|
module NZ # :nodoc:
|
15
|
-
DEFINED_REGIONS = [:nz, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ot, :nz_sc, :nz_hb, :nz_mb
|
15
|
+
DEFINED_REGIONS = [:nz_ca, :nz_ch, :nz, :nz_wl, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ot, :nz_sc, :nz_hb, :nz_mb]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
18
|
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:nz]},
|
19
19
|
{:function => lambda { |year| Holidays.easter(year)-1 }, :function_id => "easter(year)-1", :name => "Easter Saturday", :regions => [:nz]},
|
20
20
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:nz]}],
|
21
|
+
11 => [{:wday => 5, :week => 2, :name => "Canterbury Anniversary Day", :regions => [:nz_ca]},
|
22
|
+
{:mday => 30, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Chatham Island Anniversary Day", :regions => [:nz_ch]}],
|
23
|
+
6 => [{:wday => 1, :week => 1, :name => "Queen's Birthday", :regions => [:nz]}],
|
21
24
|
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "New Year's Day", :regions => [:nz]},
|
22
25
|
{:mday => 2, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Day after New Year's Day", :regions => [:nz]},
|
23
26
|
{:mday => 17, :name => "Southland Anniversary Day", :regions => [:nz_sl]},
|
24
27
|
{:mday => 22, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Wellington Anniversary Day", :regions => [:nz_we]},
|
25
28
|
{:mday => 29, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Auckland Anniversary Day", :regions => [:nz_ak]},
|
26
29
|
{:mday => 29, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Northland Anniversary Day", :regions => [:nz_nl]}],
|
30
|
+
12 => [{:mday => 1, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Westland Anniversary Day", :regions => [:nz_wl]},
|
31
|
+
{:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "Christmas Day", :regions => [:nz]},
|
32
|
+
{:mday => 26, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Boxing Day", :regions => [:nz]}],
|
27
33
|
2 => [{:mday => 1, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Nelson Anniversary Day", :regions => [:nz_ak]},
|
28
34
|
{:mday => 6, :name => "Waitangi Day", :regions => [:nz]}],
|
29
35
|
3 => [{:mday => 23, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Otago Anniversary Day", :regions => [:nz_ot]},
|
30
36
|
{:wday => 1, :week => 2, :name => "Taranaki Anniversary Day", :regions => [:nz_ak]}],
|
31
|
-
4 => [{:mday => 25, :name => "ANZAC Day", :regions => [:nz]}],
|
32
|
-
6 => [{:wday => 1, :week => 1, :name => "Queen's Birthday", :regions => [:nz]}],
|
33
37
|
9 => [{:wday => 1, :week => 4, :name => "Dominion Day", :regions => [:nz_sc]}],
|
38
|
+
4 => [{:mday => 25, :name => "ANZAC Day", :regions => [:nz]}],
|
34
39
|
10 => [{:wday => 1, :week => 1, :observed => lambda { |date| Holidays.previous_friday(date) }, :observed_id => "previous_friday", :name => "Hawke's bay Anniversary Day", :regions => [:nz_hb]},
|
35
40
|
{:wday => 1, :week => 4, :name => "Labour Day", :regions => [:nz]},
|
36
|
-
{:wday => 1, :week => 4, :observed => lambda { |date| Holidays.next_week(date) }, :observed_id => "next_week", :name => "Marlborough Anniversary Day", :regions => [:nz_mb]}]
|
37
|
-
11 => [{:wday => 5, :week => 2, :name => "Canterbury Anniversary Day", :regions => [:nz_ca]},
|
38
|
-
{:mday => 30, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Chatham Island Anniversary Day", :regions => [:nz_ch]}],
|
39
|
-
12 => [{:mday => 1, :observed => lambda { |date| Holidays.closest_monday(date) }, :observed_id => "closest_monday", :name => "Westland Anniversary Day", :regions => [:nz_wl]},
|
40
|
-
{:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "Christmas Day", :regions => [:nz]},
|
41
|
-
{:mday => 26, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Boxing Day", :regions => [:nz]}]
|
41
|
+
{:wday => 1, :week => 4, :observed => lambda { |date| Holidays.next_week(date) }, :observed_id => "next_week", :name => "Marlborough Anniversary Day", :regions => [:nz_mb]}]
|
42
42
|
}
|
43
43
|
end
|
44
44
|
|
@@ -54,15 +54,15 @@ def self.closest_monday(date)
|
|
54
54
|
end
|
55
55
|
|
56
56
|
|
57
|
+
def self.next_week(date)
|
58
|
+
date + 7
|
59
|
+
end
|
60
|
+
|
57
61
|
def self.previous_friday(date)
|
58
62
|
date - 3
|
59
63
|
end
|
60
64
|
|
61
65
|
|
62
|
-
def self.next_week(date)
|
63
|
-
date + 7
|
64
|
-
end
|
65
|
-
|
66
66
|
|
67
67
|
end
|
68
68
|
|
data/lib/holidays/pt.rb
CHANGED
@@ -15,20 +15,20 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:pt]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
+
5 => [{:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
|
18
19
|
0 => [{:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:pt]},
|
19
20
|
{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:pt]},
|
20
21
|
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:pt]},
|
21
22
|
{:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpo de Deus", :regions => [:pt]}],
|
22
|
-
1 => [{:mday => 1, :name => "Ano Novo", :regions => [:pt]}],
|
23
|
-
4 => [{:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
|
24
|
-
5 => [{:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
|
25
|
-
6 => [{:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
|
26
|
-
8 => [{:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]}],
|
27
|
-
10 => [{:mday => 5, :name => "Implantação da República", :regions => [:pt]}],
|
28
23
|
11 => [{:mday => 1, :name => "Todos os Santos", :regions => [:pt]}],
|
24
|
+
6 => [{:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
|
25
|
+
1 => [{:mday => 1, :name => "Ano Novo", :regions => [:pt]}],
|
29
26
|
12 => [{:mday => 1, :name => "Restauração da Independência", :regions => [:pt]},
|
30
27
|
{:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
|
31
|
-
{:mday => 25, :name => "Natal", :regions => [:pt]}]
|
28
|
+
{:mday => 25, :name => "Natal", :regions => [:pt]}],
|
29
|
+
8 => [{:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]}],
|
30
|
+
4 => [{:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
|
31
|
+
10 => [{:mday => 5, :name => "Implantação da República", :regions => [:pt]}]
|
32
32
|
}
|
33
33
|
end
|
34
34
|
|
data/lib/holidays/scandinavia.rb
CHANGED
@@ -15,6 +15,14 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:dk, :no, :is, :se, :fi]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
+
5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
|
19
|
+
{:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
|
20
|
+
{:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
|
21
|
+
{:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
|
22
|
+
{:mday => 1, :name => "1. mai", :regions => [:no]},
|
23
|
+
{:mday => 17, :name => "17. mai", :regions => [:no]},
|
24
|
+
{:mday => 1, :name => "Första maj", :regions => [:se]},
|
25
|
+
{:mday => 1, :name => "Vappu", :regions => [:fi]}],
|
18
26
|
0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]},
|
19
27
|
{:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk, :no]},
|
20
28
|
{:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
|
@@ -52,6 +60,16 @@ module Holidays
|
|
52
60
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Helatorstai", :regions => [:fi]},
|
53
61
|
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Helluntaipäivä", :regions => [:fi]},
|
54
62
|
{:function => lambda { |year| Holidays.fi_pyhainpaiva(year) }, :function_id => "fi_pyhainpaiva(year)", :name => "Pyhäinpäivä", :regions => [:fi]}],
|
63
|
+
11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
|
64
|
+
{:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
|
65
|
+
6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
|
66
|
+
{:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
|
67
|
+
{:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
|
68
|
+
{:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
|
69
|
+
{:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
|
70
|
+
{:mday => 6, :name => "Nationaldagen", :regions => [:se]},
|
71
|
+
{:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]},
|
72
|
+
{:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
|
55
73
|
1 => [{:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
|
56
74
|
{:mday => 1, :name => "Nýársdagur", :regions => [:is]},
|
57
75
|
{:mday => 6, :name => "Þrettándinn", :regions => [:is]},
|
@@ -61,28 +79,6 @@ module Holidays
|
|
61
79
|
{:mday => 6, :name => "Trettondedag jul", :regions => [:se]},
|
62
80
|
{:mday => 1, :name => "Uudenvuodenpäivä", :regions => [:fi]},
|
63
81
|
{:mday => 6, :name => "Loppiainen", :regions => [:fi]}],
|
64
|
-
4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
|
65
|
-
{:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
|
66
|
-
{:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
|
67
|
-
{:function => lambda { |year| Holidays.is_sumardagurinn_fyrsti(year) }, :function_id => "is_sumardagurinn_fyrsti(year)", :name => "Sumardagurinn fyrsti", :regions => [:is]}],
|
68
|
-
5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
|
69
|
-
{:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
|
70
|
-
{:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
|
71
|
-
{:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
|
72
|
-
{:mday => 1, :name => "1. mai", :regions => [:no]},
|
73
|
-
{:mday => 17, :name => "17. mai", :regions => [:no]},
|
74
|
-
{:mday => 1, :name => "Första maj", :regions => [:se]},
|
75
|
-
{:mday => 1, :name => "Vappu", :regions => [:fi]}],
|
76
|
-
6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
|
77
|
-
{:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
|
78
|
-
{:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
|
79
|
-
{:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
|
80
|
-
{:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
|
81
|
-
{:mday => 6, :name => "Nationaldagen", :regions => [:se]},
|
82
|
-
{:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]},
|
83
|
-
{:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
|
84
|
-
11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
|
85
|
-
{:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
|
86
82
|
12 => [{:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
|
87
83
|
{:mday => 24, :name => "Juleaftensdag", :regions => [:dk]},
|
88
84
|
{:mday => 25, :name => "1. juledag", :regions => [:dk, :no]},
|
@@ -100,10 +96,30 @@ module Holidays
|
|
100
96
|
{:mday => 25, :name => "Joulupäivä", :regions => [:fi]},
|
101
97
|
{:mday => 26, :name => "Tapaninpäivä", :regions => [:fi]}],
|
102
98
|
2 => [{:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}],
|
103
|
-
8 => [{:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]}]
|
99
|
+
8 => [{:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]}],
|
100
|
+
4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
|
101
|
+
{:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
|
102
|
+
{:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
|
103
|
+
{:function => lambda { |year| Holidays.is_sumardagurinn_fyrsti(year) }, :function_id => "is_sumardagurinn_fyrsti(year)", :name => "Sumardagurinn fyrsti", :regions => [:is]}]
|
104
104
|
}
|
105
105
|
end
|
106
106
|
|
107
|
+
# Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
108
|
+
def self.se_alla_helgons_dag(year)
|
109
|
+
date = Date.civil(year,10,31)
|
110
|
+
date += (6 - date.wday)
|
111
|
+
date
|
112
|
+
end
|
113
|
+
|
114
|
+
|
115
|
+
# Finland: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
116
|
+
def self.fi_pyhainpaiva(year)
|
117
|
+
date = Date.civil(year,10,31)
|
118
|
+
date += (6 - date.wday)
|
119
|
+
date
|
120
|
+
end
|
121
|
+
|
122
|
+
|
107
123
|
# Iceland: first day of summer (Thursday after 18 April)
|
108
124
|
def self.is_sumardagurinn_fyrsti(year)
|
109
125
|
date = Date.civil(year,4,18)
|
@@ -124,14 +140,6 @@ def self.se_midsommardagen(year)
|
|
124
140
|
end
|
125
141
|
|
126
142
|
|
127
|
-
# Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
128
|
-
def self.se_alla_helgons_dag(year)
|
129
|
-
date = Date.civil(year,10,31)
|
130
|
-
date += (6 - date.wday)
|
131
|
-
date
|
132
|
-
end
|
133
|
-
|
134
|
-
|
135
143
|
# Finland: Mid-summer (Saturday between June 20–26)
|
136
144
|
def self.fi_juhannuspaiva(year)
|
137
145
|
date = Date.civil(year,6,20)
|
@@ -140,14 +148,6 @@ def self.fi_juhannuspaiva(year)
|
|
140
148
|
end
|
141
149
|
|
142
150
|
|
143
|
-
# Finland: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
144
|
-
def self.fi_pyhainpaiva(year)
|
145
|
-
date = Date.civil(year,10,31)
|
146
|
-
date += (6 - date.wday)
|
147
|
-
date
|
148
|
-
end
|
149
|
-
|
150
|
-
|
151
151
|
|
152
152
|
end
|
153
153
|
|
data/lib/holidays/se.rb
CHANGED
@@ -15,33 +15,33 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:se]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
+
5 => [{:mday => 1, :name => "Första maj", :regions => [:se]}],
|
18
19
|
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Långfredagen", :regions => [:se]},
|
19
20
|
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskdagen", :regions => [:se]},
|
20
21
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Annandag påsk", :regions => [:se]},
|
21
22
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Kristi himmelsfärdsdag", :regions => [:se]},
|
22
23
|
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pingstdagen", :regions => [:se]},
|
23
24
|
{:function => lambda { |year| Holidays.se_alla_helgons_dag(year) }, :function_id => "se_alla_helgons_dag(year)", :name => "Alla helgons dag", :regions => [:se]}],
|
24
|
-
1 => [{:mday => 1, :name => "Nyårsdagen", :regions => [:se]},
|
25
|
-
{:mday => 6, :name => "Trettondedag jul", :regions => [:se]}],
|
26
|
-
5 => [{:mday => 1, :name => "Första maj", :regions => [:se]}],
|
27
25
|
6 => [{:mday => 6, :name => "Nationaldagen", :regions => [:se]},
|
28
26
|
{:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]}],
|
27
|
+
1 => [{:mday => 1, :name => "Nyårsdagen", :regions => [:se]},
|
28
|
+
{:mday => 6, :name => "Trettondedag jul", :regions => [:se]}],
|
29
29
|
12 => [{:mday => 25, :name => "Juldagen", :regions => [:se]},
|
30
30
|
{:mday => 26, :name => "Annandag jul", :regions => [:se]}]
|
31
31
|
}
|
32
32
|
end
|
33
33
|
|
34
|
-
# Sweden:
|
35
|
-
def self.
|
36
|
-
date = Date.civil(year,
|
34
|
+
# Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
35
|
+
def self.se_alla_helgons_dag(year)
|
36
|
+
date = Date.civil(year,10,31)
|
37
37
|
date += (6 - date.wday)
|
38
38
|
date
|
39
39
|
end
|
40
40
|
|
41
41
|
|
42
|
-
# Sweden:
|
43
|
-
def self.
|
44
|
-
date = Date.civil(year,
|
42
|
+
# Sweden: Mid-summer (Saturday between June 20–26)
|
43
|
+
def self.se_midsommardagen(year)
|
44
|
+
date = Date.civil(year,6,20)
|
45
45
|
date += (6 - date.wday)
|
46
46
|
date
|
47
47
|
end
|
data/lib/holidays/ups.rb
CHANGED
@@ -15,14 +15,14 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:ups]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
-
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "New Year's Day", :regions => [:ups]}],
|
19
18
|
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:ups]}],
|
20
|
-
7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Independence Day", :regions => [:ups]}],
|
21
|
-
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:ups]}],
|
22
19
|
11 => [{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:ups]},
|
23
20
|
{:wday => 5, :week => 4, :name => "Day After Thanksgiving", :regions => [:ups]}],
|
21
|
+
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "New Year's Day", :regions => [:ups]}],
|
24
22
|
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:ups]},
|
25
|
-
{:mday => 31, :name => "New Year's Eve", :regions => [:ups]}]
|
23
|
+
{:mday => 31, :name => "New Year's Eve", :regions => [:ups]}],
|
24
|
+
7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Independence Day", :regions => [:ups]}],
|
25
|
+
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:ups]}]
|
26
26
|
}
|
27
27
|
end
|
28
28
|
|
data/lib/holidays/us.rb
CHANGED
@@ -15,25 +15,25 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:us, :us_dc, :ca]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
+
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
|
19
|
+
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
|
18
20
|
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :type => :informal, :name => "Good Friday", :regions => [:us]}],
|
21
|
+
11 => [{:mday => 11, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Veterans Day", :regions => [:us]},
|
22
|
+
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]}],
|
19
23
|
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "New Year's Day", :regions => [:us]},
|
20
24
|
{:wday => 1, :week => 3, :name => "Martin Luther King, Jr. Day", :regions => [:us]},
|
21
25
|
{:function => lambda { |year| Holidays.us_inauguration_day(year) }, :function_id => "us_inauguration_day(year)", :name => "Inauguration Day", :regions => [:us_dc]}],
|
26
|
+
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:us]}],
|
27
|
+
7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Independence Day", :regions => [:us]}],
|
22
28
|
2 => [{:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
|
23
29
|
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
|
24
30
|
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
|
25
|
-
5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
|
26
|
-
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
|
27
|
-
7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Independence Day", :regions => [:us]}],
|
28
|
-
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]}],
|
29
|
-
10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]},
|
30
|
-
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
|
31
|
-
11 => [{:mday => 11, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Veterans Day", :regions => [:us]},
|
32
|
-
{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]}],
|
33
|
-
12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_weekday_if_weekend(date) }, :observed_id => "to_weekday_if_weekend", :name => "Christmas Day", :regions => [:us]}],
|
34
31
|
3 => [{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
32
|
+
9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]}],
|
35
33
|
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
|
36
|
-
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}]
|
34
|
+
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
|
35
|
+
10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]},
|
36
|
+
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
|
37
37
|
}
|
38
38
|
end
|
39
39
|
|
data/lib/holidays/za.rb
CHANGED
@@ -15,18 +15,18 @@ module Holidays
|
|
15
15
|
DEFINED_REGIONS = [:za]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
|
+
5 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Workers Day", :regions => [:za]}],
|
18
19
|
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:za]},
|
19
20
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Family Day", :regions => [:za]}],
|
20
|
-
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "New Year's Day", :regions => [:za]}],
|
21
|
-
3 => [{:mday => 21, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Human Rights Day", :regions => [:za]}],
|
22
|
-
4 => [{:mday => 27, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Freedom Day", :regions => [:za]}],
|
23
|
-
5 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Workers Day", :regions => [:za]}],
|
24
21
|
6 => [{:mday => 16, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Youth Day", :regions => [:za]}],
|
25
|
-
|
26
|
-
9 => [{:mday => 24, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Heritage Day", :regions => [:za]}],
|
22
|
+
1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "New Year's Day", :regions => [:za]}],
|
27
23
|
12 => [{:mday => 16, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Day of Reconciliation", :regions => [:za]},
|
28
24
|
{:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Christmas Day", :regions => [:za]},
|
29
|
-
{:mday => 26, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Day of Goodwill", :regions => [:za]}]
|
25
|
+
{:mday => 26, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Day of Goodwill", :regions => [:za]}],
|
26
|
+
8 => [{:mday => 9, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "National Women's Day", :regions => [:za]}],
|
27
|
+
3 => [{:mday => 21, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Human Rights Day", :regions => [:za]}],
|
28
|
+
9 => [{:mday => 24, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Heritage Day", :regions => [:za]}],
|
29
|
+
4 => [{:mday => 27, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Freedom Day", :regions => [:za]}]
|
30
30
|
}
|
31
31
|
end
|
32
32
|
|
@@ -0,0 +1,28 @@
|
|
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/el.yaml
|
7
|
+
class ElDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_el
|
10
|
+
{Date.civil(2011,1,1) => 'Πρωτοχρονιά',
|
11
|
+
Date.civil(2011,1,6) => 'Θεοφάνεια',
|
12
|
+
Date.civil(2011,4,22) => 'Μεγάλη Παρασκευή',
|
13
|
+
Date.civil(1970,4,25) => 'Μεγάλο Σάββατο',
|
14
|
+
Date.civil(1985,4,14) => 'Κυριακή του Πάσχα',
|
15
|
+
Date.civil(2011,4,24) => 'Κυριακή του Πάσχα',
|
16
|
+
Date.civil(2027,5,2) => 'Κυριακή του Πάσχα',
|
17
|
+
Date.civil(2046,4,30) => 'Δευτέρα του Πάσχα',
|
18
|
+
Date.civil(2011,5,1) => 'Πρωτομαγιά',
|
19
|
+
Date.civil(2011,6,13) => 'Αγίου Πνεύματος',
|
20
|
+
Date.civil(2012,6,4) => 'Αγίου Πνεύματος',
|
21
|
+
Date.civil(2011,3,7) => 'Καθαρά Δευτέρα',
|
22
|
+
Date.civil(2012,2,27) => 'Καθαρά Δευτέρα',
|
23
|
+
Date.civil(2011,12,25) => 'Χριστούγεννα',
|
24
|
+
Date.civil(2011,12,26) => 'Δεύτερη ημέρα των Χριστουγέννων'}.each do |date, name|
|
25
|
+
assert_equal name, (Holidays.on(date, :el, :informal)[0] || {})[:name]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
3
3
|
|
4
4
|
# This file is generated by the Ruby Holiday gem.
|
5
5
|
#
|
6
|
-
# Definitions loaded: data/cz.yaml, data/dk.yaml, data/de.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/nl.yaml, data/no.yaml, data/pt.yaml
|
6
|
+
# Definitions loaded: data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/nl.yaml, data/no.yaml, data/pt.yaml
|
7
7
|
class EuropeDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
8
|
|
9
9
|
def test_europe
|
@@ -84,6 +84,24 @@ assert_equal 'Buß- und Bettag', Date.civil(2006,11,22).holidays(:de_sn)[0][:nam
|
|
84
84
|
assert_equal 'Buß- und Bettag', Date.civil(2009,11,18).holidays(:de_sn)[0][:name]
|
85
85
|
|
86
86
|
|
87
|
+
{Date.civil(2011,1,1) => 'Πρωτοχρονιά',
|
88
|
+
Date.civil(2011,1,6) => 'Θεοφάνεια',
|
89
|
+
Date.civil(2011,4,22) => 'Μεγάλη Παρασκευή',
|
90
|
+
Date.civil(1970,4,25) => 'Μεγάλο Σάββατο',
|
91
|
+
Date.civil(1985,4,14) => 'Κυριακή του Πάσχα',
|
92
|
+
Date.civil(2011,4,24) => 'Κυριακή του Πάσχα',
|
93
|
+
Date.civil(2027,5,2) => 'Κυριακή του Πάσχα',
|
94
|
+
Date.civil(2046,4,30) => 'Δευτέρα του Πάσχα',
|
95
|
+
Date.civil(2011,5,1) => 'Πρωτομαγιά',
|
96
|
+
Date.civil(2011,6,13) => 'Αγίου Πνεύματος',
|
97
|
+
Date.civil(2012,6,4) => 'Αγίου Πνεύματος',
|
98
|
+
Date.civil(2011,3,7) => 'Καθαρά Δευτέρα',
|
99
|
+
Date.civil(2012,2,27) => 'Καθαρά Δευτέρα',
|
100
|
+
Date.civil(2011,12,25) => 'Χριστούγεννα',
|
101
|
+
Date.civil(2011,12,26) => 'Δεύτερη ημέρα των Χριστουγέννων'}.each do |date, name|
|
102
|
+
assert_equal name, (Holidays.on(date, :el, :informal)[0] || {})[:name]
|
103
|
+
end
|
104
|
+
|
87
105
|
{Date.civil(2009,1,1) => 'Año Nuevo',
|
88
106
|
Date.civil(2009,1,6) => 'Día de Reyes',
|
89
107
|
Date.civil(2009,4,10) => 'Viernes Santo',
|
data/test/test_holidays.rb
CHANGED
@@ -102,6 +102,14 @@ class HolidaysTests < Test::Unit::TestCase
|
|
102
102
|
assert_equal '2067-04-03', Holidays.easter(2067).to_s
|
103
103
|
assert_equal '2099-04-12', Holidays.easter(2099).to_s
|
104
104
|
end
|
105
|
+
|
106
|
+
def test_orthodox_easter
|
107
|
+
assert_equal '2000-04-30', Holidays.orthodox_easter(2000).to_s
|
108
|
+
assert_equal '2008-04-27', Holidays.orthodox_easter(2008).to_s
|
109
|
+
assert_equal '2009-04-19', Holidays.orthodox_easter(2009).to_s
|
110
|
+
assert_equal '2011-04-24', Holidays.orthodox_easter(2011).to_s
|
111
|
+
assert_equal '2020-04-19', Holidays.orthodox_easter(2020).to_s
|
112
|
+
end
|
105
113
|
|
106
114
|
def test_easter_lambda
|
107
115
|
[Date.civil(1800,4,11), Date.civil(1899,3,31), Date.civil(1900,4,13),
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 2
|
9
|
+
version: 1.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Alex Dunae
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-05-13 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -29,6 +29,7 @@ extra_rdoc_files:
|
|
29
29
|
- LICENSE
|
30
30
|
- README.rdoc
|
31
31
|
files:
|
32
|
+
- .gitignore
|
32
33
|
- CHANGELOG
|
33
34
|
- LICENSE
|
34
35
|
- README.rdoc
|
@@ -41,6 +42,7 @@ files:
|
|
41
42
|
- data/cz.yaml
|
42
43
|
- data/de.yaml
|
43
44
|
- data/dk.yaml
|
45
|
+
- data/el.yaml
|
44
46
|
- data/es.yaml
|
45
47
|
- data/fi.yaml
|
46
48
|
- data/fr.yaml
|
@@ -71,6 +73,7 @@ files:
|
|
71
73
|
- lib/holidays/cz.rb
|
72
74
|
- lib/holidays/de.rb
|
73
75
|
- lib/holidays/dk.rb
|
76
|
+
- lib/holidays/el.rb
|
74
77
|
- lib/holidays/es.rb
|
75
78
|
- lib/holidays/europe.rb
|
76
79
|
- lib/holidays/fi.rb
|
@@ -100,6 +103,7 @@ files:
|
|
100
103
|
- test/defs/test_defs_cz.rb
|
101
104
|
- test/defs/test_defs_de.rb
|
102
105
|
- test/defs/test_defs_dk.rb
|
106
|
+
- test/defs/test_defs_el.rb
|
103
107
|
- test/defs/test_defs_es.rb
|
104
108
|
- test/defs/test_defs_europe.rb
|
105
109
|
- test/defs/test_defs_fi.rb
|
@@ -130,8 +134,8 @@ homepage: https://github.com/alexdunae/holidays
|
|
130
134
|
licenses: []
|
131
135
|
|
132
136
|
post_install_message:
|
133
|
-
rdoc_options:
|
134
|
-
|
137
|
+
rdoc_options:
|
138
|
+
- --charset=UTF-8
|
135
139
|
require_paths:
|
136
140
|
- lib
|
137
141
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -164,6 +168,7 @@ test_files:
|
|
164
168
|
- test/defs/test_defs_cz.rb
|
165
169
|
- test/defs/test_defs_de.rb
|
166
170
|
- test/defs/test_defs_dk.rb
|
171
|
+
- test/defs/test_defs_el.rb
|
167
172
|
- test/defs/test_defs_es.rb
|
168
173
|
- test/defs/test_defs_europe.rb
|
169
174
|
- test/defs/test_defs_fi.rb
|