holidays 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/data/{SYNTAX → SYNTAX.rdoc} +1 -1
- data/data/br.yaml +74 -0
- data/data/ca.yaml +2 -2
- data/data/fi.yaml +95 -0
- data/data/index.yaml +4 -1
- data/data/jp.yaml +202 -0
- data/holidays.gemspec +130 -120
- data/lib/holidays.rb +1 -1
- data/lib/holidays/MANIFEST +20 -17
- data/lib/holidays/br.rb +36 -0
- data/lib/holidays/ca.rb +1 -1
- data/lib/holidays/fi.rb +54 -0
- data/lib/holidays/jp.rb +109 -0
- data/lib/holidays/north_america.rb +1 -1
- data/lib/holidays/scandinavia.rb +37 -7
- data/rakefile.rb +1 -1
- data/test/defs/test_defs_br.rb +31 -0
- data/test/defs/test_defs_ca.rb +1 -1
- data/test/defs/test_defs_fi.rb +33 -0
- data/test/defs/test_defs_jp.rb +50 -0
- data/test/defs/test_defs_north_america.rb +1 -1
- data/test/defs/test_defs_scandinavia.rb +24 -1
- metadata +18 -7
- data/.gitignore +0 -3
data/lib/holidays.rb
CHANGED
data/lib/holidays/MANIFEST
CHANGED
@@ -1,28 +1,31 @@
|
|
1
1
|
==== Regional definitions
|
2
2
|
The following definition files are included in this installation:
|
3
3
|
|
4
|
-
* holidays/nyse
|
5
|
-
* holidays/no
|
6
|
-
* holidays/es
|
7
|
-
* holidays/ie
|
8
|
-
* holidays/united_nations
|
9
4
|
* holidays/au
|
10
|
-
* holidays/
|
11
|
-
* holidays/za
|
12
|
-
* holidays/scandinavia
|
5
|
+
* holidays/br
|
13
6
|
* holidays/ca
|
14
|
-
* holidays/
|
15
|
-
* holidays/nl
|
16
|
-
* holidays/it
|
7
|
+
* holidays/cz
|
17
8
|
* holidays/de
|
18
9
|
* holidays/dk
|
19
|
-
* holidays/
|
20
|
-
* holidays/nz
|
21
|
-
* holidays/ups
|
22
|
-
* holidays/pt
|
10
|
+
* holidays/es
|
23
11
|
* holidays/europe
|
24
|
-
* holidays/
|
25
|
-
* holidays/north_america
|
12
|
+
* holidays/fi
|
26
13
|
* holidays/fr
|
27
14
|
* holidays/gb
|
15
|
+
* holidays/ie
|
28
16
|
* holidays/is
|
17
|
+
* holidays/it
|
18
|
+
* holidays/jp
|
19
|
+
* holidays/mx
|
20
|
+
* holidays/nl
|
21
|
+
* holidays/no
|
22
|
+
* holidays/north_america
|
23
|
+
* holidays/nyse
|
24
|
+
* holidays/nz
|
25
|
+
* holidays/pt
|
26
|
+
* holidays/scandinavia
|
27
|
+
* holidays/se
|
28
|
+
* holidays/united_nations
|
29
|
+
* holidays/ups
|
30
|
+
* holidays/us
|
31
|
+
* holidays/za
|
data/lib/holidays/br.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Holidays
|
3
|
+
# This file is generated by the Ruby Holiday gem.
|
4
|
+
#
|
5
|
+
# Definitions loaded: data/br.yaml
|
6
|
+
#
|
7
|
+
# To use the definitions in this file, load them right after you load the
|
8
|
+
# Holiday gem:
|
9
|
+
#
|
10
|
+
# require 'holidays'
|
11
|
+
# require 'holidays/br'
|
12
|
+
#
|
13
|
+
# More definitions are available at http://code.dunae.ca/holidays.
|
14
|
+
module BR # :nodoc:
|
15
|
+
DEFINED_REGIONS = [:br]
|
16
|
+
|
17
|
+
HOLIDAYS_BY_MONTH = {
|
18
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:br]},
|
19
|
+
{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:br]},
|
20
|
+
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:br]},
|
21
|
+
{:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpus Christ", :regions => [:br]}],
|
22
|
+
1 => [{:mday => 1, :name => "Dia da Confraternização Universal", :regions => [:br]}],
|
23
|
+
4 => [{:mday => 21, :name => "Dia de Tiradentes", :regions => [:br]}],
|
24
|
+
5 => [{:mday => 1, :name => "Dia do Trabalho", :regions => [:br]}],
|
25
|
+
9 => [{:mday => 7, :name => "Proclamação da Independência", :regions => [:br]}],
|
26
|
+
10 => [{:mday => 12, :name => "Dia de Nossa Senhora Aparecida", :regions => [:br]}],
|
27
|
+
11 => [{:mday => 2, :name => "Dia de Finados", :regions => [:br]},
|
28
|
+
{:mday => 15, :name => "Proclamação da República", :regions => [:br]}],
|
29
|
+
12 => [{:mday => 25, :name => "Natal", :regions => [:br]}]
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
Holidays.merge_defs(Holidays::BR::DEFINED_REGIONS, Holidays::BR::HOLIDAYS_BY_MONTH)
|
data/lib/holidays/ca.rb
CHANGED
@@ -43,7 +43,7 @@ module Holidays
|
|
43
43
|
9 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:ca]}],
|
44
44
|
10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca]},
|
45
45
|
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
|
46
|
-
11 => [{:mday => 11, :name => "
|
46
|
+
11 => [{:mday => 11, :name => "Remembrance Day", :regions => [:ca]}],
|
47
47
|
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ca]},
|
48
48
|
{:mday => 26, :name => "Boxing Day", :regions => [:ca]}],
|
49
49
|
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
|
data/lib/holidays/fi.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Holidays
|
3
|
+
# This file is generated by the Ruby Holiday gem.
|
4
|
+
#
|
5
|
+
# Definitions loaded: data/fi.yaml
|
6
|
+
#
|
7
|
+
# To use the definitions in this file, load them right after you load the
|
8
|
+
# Holiday gem:
|
9
|
+
#
|
10
|
+
# require 'holidays'
|
11
|
+
# require 'holidays/fi'
|
12
|
+
#
|
13
|
+
# More definitions are available at http://code.dunae.ca/holidays.
|
14
|
+
module FI # :nodoc:
|
15
|
+
DEFINED_REGIONS = [:fi]
|
16
|
+
|
17
|
+
HOLIDAYS_BY_MONTH = {
|
18
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Pitkäperjantai", :regions => [:fi]},
|
19
|
+
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pääsiäispäivä", :regions => [:fi]},
|
20
|
+
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "2. Pääsiäispäivä", :regions => [:fi]},
|
21
|
+
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Helatorstai", :regions => [:fi]},
|
22
|
+
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Helluntaipäivä", :regions => [:fi]},
|
23
|
+
{:function => lambda { |year| Holidays.fi_pyhainpaiva(year) }, :function_id => "fi_pyhainpaiva(year)", :name => "Pyhäinpäivä", :regions => [:fi]}],
|
24
|
+
1 => [{:mday => 1, :name => "Uudenvuodenpäivä", :regions => [:fi]},
|
25
|
+
{:mday => 6, :name => "Loppiainen", :regions => [:fi]}],
|
26
|
+
5 => [{:mday => 1, :name => "Vappu", :regions => [:fi]}],
|
27
|
+
6 => [{:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
|
28
|
+
12 => [{:mday => 6, :name => "Itsenäisyyspäivä", :regions => [:fi]},
|
29
|
+
{:mday => 24, :name => "Jouluaatto", :regions => [:fi]},
|
30
|
+
{:mday => 25, :name => "Joulupäivä", :regions => [:fi]},
|
31
|
+
{:mday => 26, :name => "Tapaninpäivä", :regions => [:fi]}]
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Finland: Mid-summer (Saturday between June 20–26)
|
36
|
+
def self.fi_juhannuspaiva(year)
|
37
|
+
date = Date.civil(year,6,20)
|
38
|
+
date += (6 - date.wday)
|
39
|
+
date
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
# Finland: All Saint's Day (Saturday between Oct 31 and Nov 6)
|
44
|
+
def self.fi_pyhainpaiva(year)
|
45
|
+
date = Date.civil(year,10,31)
|
46
|
+
date += (6 - date.wday)
|
47
|
+
date
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
Holidays.merge_defs(Holidays::FI::DEFINED_REGIONS, Holidays::FI::HOLIDAYS_BY_MONTH)
|
data/lib/holidays/jp.rb
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Holidays
|
3
|
+
# This file is generated by the Ruby Holiday gem.
|
4
|
+
#
|
5
|
+
# Definitions loaded: data/jp.yaml
|
6
|
+
#
|
7
|
+
# To use the definitions in this file, load them right after you load the
|
8
|
+
# Holiday gem:
|
9
|
+
#
|
10
|
+
# require 'holidays'
|
11
|
+
# require 'holidays/jp'
|
12
|
+
#
|
13
|
+
# More definitions are available at http://code.dunae.ca/holidays.
|
14
|
+
module JP # :nodoc:
|
15
|
+
DEFINED_REGIONS = [:jp]
|
16
|
+
|
17
|
+
HOLIDAYS_BY_MONTH = {
|
18
|
+
1 => [{:mday => 1, :name => "元日", :regions => [:jp]},
|
19
|
+
{:wday => 1, :week => 2, :name => "成人の日", :regions => [:jp]}],
|
20
|
+
2 => [{:mday => 11, :name => "建国記念日", :regions => [:jp]},
|
21
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 2, 11) }, :function_id => "jp_substitute_holiday(year, 2, 11)", :name => "振替休日", :regions => [:jp]}],
|
22
|
+
3 => [{:function => lambda { |year| Holidays.jp_vernal_equinox_day(year) }, :function_id => "jp_vernal_equinox_day(year)", :name => "春分の日", :regions => [:jp]},
|
23
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(Holidays.jp_vernal_equinox_day(year)) }, :function_id => "jp_substitute_holiday(Holidays.jp_vernal_equinox_day(year))", :name => "振替休日", :regions => [:jp]}],
|
24
|
+
4 => [{:mday => 29, :name => "昭和の日", :regions => [:jp]},
|
25
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 4, 29) }, :function_id => "jp_substitute_holiday(year, 4, 29)", :name => "振替休日", :regions => [:jp]}],
|
26
|
+
5 => [{:mday => 3, :name => "憲法記念日", :regions => [:jp]},
|
27
|
+
{:mday => 4, :name => "みどりの日", :regions => [:jp]},
|
28
|
+
{:mday => 5, :name => "こどもの日", :regions => [:jp]},
|
29
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 5, 3) }, :function_id => "jp_substitute_holiday(year, 5, 3)", :name => "振替休日", :regions => [:jp]},
|
30
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 5, 5) }, :function_id => "jp_substitute_holiday(year, 5, 5)", :name => "振替休日", :regions => [:jp]}],
|
31
|
+
7 => [{:wday => 1, :week => 3, :name => "海の日", :regions => [:jp]},
|
32
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 7, Date.calculate_mday(year, 7, 3, 1)) }, :function_id => "jp_substitute_holiday(year, 7, Date.calculate_mday(year, 7, 3, 1))", :name => "振替休日", :regions => [:jp]}],
|
33
|
+
9 => [{:wday => 1, :week => 3, :name => "敬老の日", :regions => [:jp]},
|
34
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 9, Date.calculate_mday(year, 9, 3, 1)) }, :function_id => "jp_substitute_holiday(year, 9, Date.calculate_mday(year, 9, 3, 1))", :name => "振替休日", :regions => [:jp]},
|
35
|
+
{:function => lambda { |year| Holidays.jp_citizons_holiday(year) }, :function_id => "jp_citizons_holiday(year)", :name => "国民の休日", :regions => [:jp]},
|
36
|
+
{:function => lambda { |year| Holidays.jp_national_culture_day(year) }, :function_id => "jp_national_culture_day(year)", :name => "秋分の日", :regions => [:jp]},
|
37
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(Holidays.jp_national_culture_day(year)) }, :function_id => "jp_substitute_holiday(Holidays.jp_national_culture_day(year))", :name => "振替休日", :regions => [:jp]}],
|
38
|
+
10 => [{:wday => 1, :week => 2, :name => "体育の日", :regions => [:jp]},
|
39
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 10, Date.calculate_mday(year, 10, 2, 1)) }, :function_id => "jp_substitute_holiday(year, 10, Date.calculate_mday(year, 10, 2, 1))", :name => "振替休日", :regions => [:jp]}],
|
40
|
+
11 => [{:mday => 3, :name => "文化の日", :regions => [:jp]},
|
41
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 11, 3) }, :function_id => "jp_substitute_holiday(year, 11, 3)", :name => "振替休日", :regions => [:jp]},
|
42
|
+
{:mday => 23, :name => "勤労感謝の日", :regions => [:jp]},
|
43
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 11, 23) }, :function_id => "jp_substitute_holiday(year, 11, 23)", :name => "振替休日", :regions => [:jp]}],
|
44
|
+
12 => [{:mday => 23, :name => "天皇誕生日", :regions => [:jp]},
|
45
|
+
{:function => lambda { |year| Holidays.jp_substitute_holiday(year, 12, 23) }, :function_id => "jp_substitute_holiday(year, 12, 23)", :name => "振替休日", :regions => [:jp]}]
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.jp_vernal_equinox_day(year)
|
50
|
+
day =
|
51
|
+
case year
|
52
|
+
when 1851..1899
|
53
|
+
19.8277
|
54
|
+
when 1900..1979
|
55
|
+
20.8357
|
56
|
+
when 1980..2099
|
57
|
+
20.8431
|
58
|
+
when 2100..2150
|
59
|
+
21.8510
|
60
|
+
else
|
61
|
+
raise IndexError.new("Out of range")
|
62
|
+
end
|
63
|
+
day += 0.242194 * (year - 1980) - ((year - 1980)/4).floor
|
64
|
+
day = day.floor
|
65
|
+
Date.civil(year, 3, day)
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
def self.jp_national_culture_day(year)
|
70
|
+
day =
|
71
|
+
case year
|
72
|
+
when 1851..1899
|
73
|
+
22.2588
|
74
|
+
when 1900..1979
|
75
|
+
23.2588
|
76
|
+
when 1980..2099
|
77
|
+
23.2488
|
78
|
+
when 2100..2150
|
79
|
+
24.2488
|
80
|
+
else
|
81
|
+
raise IndexError.new("Out of range")
|
82
|
+
end
|
83
|
+
day += 0.242194 * (year - 1980) - ((year - 1980)/4).floor
|
84
|
+
day = day.floor
|
85
|
+
Date.civil(year, 9, day)
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
def self.jp_citizons_holiday(year)
|
90
|
+
year < 2003 and return nil
|
91
|
+
ncd = Holidays.jp_national_culture_day(year)
|
92
|
+
if ncd.wday == 3
|
93
|
+
ncd - 1
|
94
|
+
else
|
95
|
+
nil
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
|
100
|
+
def self.jp_substitute_holiday(*date)
|
101
|
+
date = date[0].kind_of?(Date) ? date.first : Date.civil(*date)
|
102
|
+
date.wday == 0 ? date+1 : nil
|
103
|
+
end
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
Holidays.merge_defs(Holidays::JP::DEFINED_REGIONS, Holidays::JP::HOLIDAYS_BY_MONTH)
|
@@ -65,7 +65,7 @@ module Holidays
|
|
65
65
|
{:mday => 12, :type => :informal, :name => "Día de la Raza", :regions => [:mx]},
|
66
66
|
{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us]},
|
67
67
|
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
|
68
|
-
11 => [{:mday => 11, :name => "
|
68
|
+
11 => [{:mday => 11, :name => "Remembrance Day", :regions => [:ca]},
|
69
69
|
{:mday => 1, :type => :informal, :name => "Todos los Santos", :regions => [:mx]},
|
70
70
|
{:mday => 2, :type => :informal, :name => "Los Fieles Difuntos", :regions => [:mx]},
|
71
71
|
{:wday => 1, :week => 3, :name => "Día de la Revolución", :regions => [:mx]},
|
data/lib/holidays/scandinavia.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
module Holidays
|
3
3
|
# This file is generated by the Ruby Holiday gem.
|
4
4
|
#
|
5
|
-
# Definitions loaded: data/dk.yaml, data/is.yaml, data/no.yaml, data/se.yaml
|
5
|
+
# Definitions loaded: data/dk.yaml, data/is.yaml, data/no.yaml, data/se.yaml, data/fi.yaml
|
6
6
|
#
|
7
7
|
# To use the definitions in this file, load them right after you load the
|
8
8
|
# Holiday gem:
|
@@ -12,7 +12,7 @@ module Holidays
|
|
12
12
|
#
|
13
13
|
# More definitions are available at http://code.dunae.ca/holidays.
|
14
14
|
module Scandinavia # :nodoc:
|
15
|
-
DEFINED_REGIONS = [:dk, :no, :is, :se]
|
15
|
+
DEFINED_REGIONS = [:dk, :no, :is, :se, :fi]
|
16
16
|
|
17
17
|
HOLIDAYS_BY_MONTH = {
|
18
18
|
0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]},
|
@@ -45,14 +45,22 @@ module Holidays
|
|
45
45
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Annandag påsk", :regions => [:se]},
|
46
46
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Kristi himmelsfärdsdag", :regions => [:se]},
|
47
47
|
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pingstdagen", :regions => [:se]},
|
48
|
-
{:function => lambda { |year| Holidays.se_alla_helgons_dag(year) }, :function_id => "se_alla_helgons_dag(year)", :name => "Alla helgons dag", :regions => [:se]}
|
48
|
+
{:function => lambda { |year| Holidays.se_alla_helgons_dag(year) }, :function_id => "se_alla_helgons_dag(year)", :name => "Alla helgons dag", :regions => [:se]},
|
49
|
+
{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Pitkäperjantai", :regions => [:fi]},
|
50
|
+
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pääsiäispäivä", :regions => [:fi]},
|
51
|
+
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "2. Pääsiäispäivä", :regions => [:fi]},
|
52
|
+
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Helatorstai", :regions => [:fi]},
|
53
|
+
{:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Helluntaipäivä", :regions => [:fi]},
|
54
|
+
{:function => lambda { |year| Holidays.fi_pyhainpaiva(year) }, :function_id => "fi_pyhainpaiva(year)", :name => "Pyhäinpäivä", :regions => [:fi]}],
|
49
55
|
1 => [{:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
|
50
56
|
{:mday => 1, :name => "Nýársdagur", :regions => [:is]},
|
51
57
|
{:mday => 6, :name => "Þrettándinn", :regions => [:is]},
|
52
58
|
{:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]},
|
53
59
|
{:mday => 1, :name => "Nyttårsdag", :regions => [:no]},
|
54
60
|
{:mday => 1, :name => "Nyårsdagen", :regions => [:se]},
|
55
|
-
{:mday => 6, :name => "Trettondedag jul", :regions => [:se]}
|
61
|
+
{:mday => 6, :name => "Trettondedag jul", :regions => [:se]},
|
62
|
+
{:mday => 1, :name => "Uudenvuodenpäivä", :regions => [:fi]},
|
63
|
+
{:mday => 6, :name => "Loppiainen", :regions => [:fi]}],
|
56
64
|
4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
|
57
65
|
{:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
|
58
66
|
{:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
|
@@ -63,14 +71,16 @@ module Holidays
|
|
63
71
|
{:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
|
64
72
|
{:mday => 1, :name => "1. mai", :regions => [:no]},
|
65
73
|
{:mday => 17, :name => "17. mai", :regions => [:no]},
|
66
|
-
{:mday => 1, :name => "Första maj", :regions => [:se]}
|
74
|
+
{:mday => 1, :name => "Första maj", :regions => [:se]},
|
75
|
+
{:mday => 1, :name => "Vappu", :regions => [:fi]}],
|
67
76
|
6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
|
68
77
|
{:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
|
69
78
|
{:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
|
70
79
|
{:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
|
71
80
|
{:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
|
72
81
|
{:mday => 6, :name => "Nationaldagen", :regions => [:se]},
|
73
|
-
{:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :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]}],
|
74
84
|
11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
|
75
85
|
{:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
|
76
86
|
12 => [{:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
|
@@ -84,7 +94,11 @@ module Holidays
|
|
84
94
|
{:mday => 24, :type => :informal, :name => "Julaften", :regions => [:no]},
|
85
95
|
{:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]},
|
86
96
|
{:mday => 25, :name => "Juldagen", :regions => [:se]},
|
87
|
-
{:mday => 26, :name => "Annandag jul", :regions => [:se]}
|
97
|
+
{:mday => 26, :name => "Annandag jul", :regions => [:se]},
|
98
|
+
{:mday => 6, :name => "Itsenäisyyspäivä", :regions => [:fi]},
|
99
|
+
{:mday => 24, :name => "Jouluaatto", :regions => [:fi]},
|
100
|
+
{:mday => 25, :name => "Joulupäivä", :regions => [:fi]},
|
101
|
+
{:mday => 26, :name => "Tapaninpäivä", :regions => [:fi]}],
|
88
102
|
2 => [{:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}],
|
89
103
|
8 => [{:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]}]
|
90
104
|
}
|
@@ -118,6 +132,22 @@ def self.se_alla_helgons_dag(year)
|
|
118
132
|
end
|
119
133
|
|
120
134
|
|
135
|
+
# Finland: Mid-summer (Saturday between June 20–26)
|
136
|
+
def self.fi_juhannuspaiva(year)
|
137
|
+
date = Date.civil(year,6,20)
|
138
|
+
date += (6 - date.wday)
|
139
|
+
date
|
140
|
+
end
|
141
|
+
|
142
|
+
|
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
|
+
|
121
151
|
|
122
152
|
end
|
123
153
|
|
data/rakefile.rb
CHANGED
@@ -36,7 +36,7 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
36
36
|
rdoc.options << '--all' << '--inline-source' << '--line-numbers'
|
37
37
|
rdoc.options << '--charset' << 'utf-8'
|
38
38
|
rdoc.rdoc_files.include('README.rdoc')
|
39
|
-
rdoc.rdoc_files.include('data/SYNTAX')
|
39
|
+
rdoc.rdoc_files.include('data/SYNTAX.rdoc')
|
40
40
|
rdoc.rdoc_files.include('lib/holidays/MANIFEST')
|
41
41
|
rdoc.rdoc_files.include('REFERENCES')
|
42
42
|
rdoc.rdoc_files.include('CHANGELOG')
|
@@ -0,0 +1,31 @@
|
|
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/br.yaml
|
7
|
+
class BrDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_br
|
10
|
+
{Date.civil(2008,1,1) => 'Dia da Confraternização Universal',
|
11
|
+
Date.civil(2005,2,8) => 'Carnaval',
|
12
|
+
Date.civil(2006,2,28) => 'Carnaval',
|
13
|
+
Date.civil(2007,2,20) => 'Carnaval',
|
14
|
+
Date.civil(2008,2,5) => 'Carnaval',
|
15
|
+
Date.civil(2008,3,21) => 'Sexta-feira Santa',
|
16
|
+
Date.civil(2008,3,23) => 'Páscoa',
|
17
|
+
Date.civil(2008,4,21) => 'Dia de Tiradentes',
|
18
|
+
Date.civil(2008,5,1) => 'Dia do Trabalho',
|
19
|
+
Date.civil(2005,5,26) => 'Corpus Christ',
|
20
|
+
Date.civil(2007,6,7) => 'Corpus Christ',
|
21
|
+
Date.civil(2008,5,22) => 'Corpus Christ',
|
22
|
+
Date.civil(2008,9,7) => 'Proclamação da Independência',
|
23
|
+
Date.civil(2008,10,12) => 'Dia de Nossa Senhora Aparecida',
|
24
|
+
Date.civil(2008,11,2) => 'Dia de Finados',
|
25
|
+
Date.civil(2008,11,15) => 'Proclamação da República',
|
26
|
+
Date.civil(2008,12,25) => 'Natal'}.each do |date, name|
|
27
|
+
assert_equal name, (Holidays.on(date, :br, :informal)[0] || {})[:name]
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
data/test/defs/test_defs_ca.rb
CHANGED
@@ -14,7 +14,7 @@ class CaDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
14
14
|
Date.civil(2008,7,1) => 'Canada Day',
|
15
15
|
Date.civil(2008,9,1) => 'Labour Day',
|
16
16
|
Date.civil(2008,10,13) => 'Thanksgiving',
|
17
|
-
Date.civil(2008,11,11) => '
|
17
|
+
Date.civil(2008,11,11) => 'Remembrance Day',
|
18
18
|
Date.civil(2008,12,25) => 'Christmas Day',
|
19
19
|
Date.civil(2008,12,26) => 'Boxing Day'}.each do |date, name|
|
20
20
|
assert_equal name, (Holidays.on(date, :ca, :informal)[0] || {})[:name]
|
@@ -0,0 +1,33 @@
|
|
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/fi.yaml
|
7
|
+
class FiDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_fi
|
10
|
+
{Date.civil(2008,1,1) => 'Uudenvuodenpäivä',
|
11
|
+
Date.civil(2008,1,6) => 'Loppiainen',
|
12
|
+
Date.civil(2008,3,21) => 'Pitkäperjantai',
|
13
|
+
Date.civil(2008,3,23) => 'Pääsiäispäivä',
|
14
|
+
Date.civil(2008,3,24) => '2. Pääsiäispäivä',
|
15
|
+
Date.civil(2008,5,1) => 'Vappu',
|
16
|
+
Date.civil(2008,5,1) => 'Helatorstai',
|
17
|
+
Date.civil(2008,5,11) => 'Helluntaipäivä',
|
18
|
+
Date.civil(2005,6,25) => 'Juhannuspäivä',
|
19
|
+
Date.civil(2006,6,24) => 'Juhannuspäivä',
|
20
|
+
Date.civil(2007,6,23) => 'Juhannuspäivä',
|
21
|
+
Date.civil(2008,6,21) => 'Juhannuspäivä',
|
22
|
+
Date.civil(2005,11,5) => 'Pyhäinpäivä',
|
23
|
+
Date.civil(2006,11,4) => 'Pyhäinpäivä',
|
24
|
+
Date.civil(2007,11,3) => 'Pyhäinpäivä',
|
25
|
+
Date.civil(2008,11,1) => 'Pyhäinpäivä',
|
26
|
+
Date.civil(2008,12,6) => 'Itsenäisyyspäivä',
|
27
|
+
Date.civil(2008,12,24) => 'Jouluaatto',
|
28
|
+
Date.civil(2008,12,25) => 'Joulupäivä',
|
29
|
+
Date.civil(2008,12,26) => 'Tapaninpäivä'}.each do |date, name|
|
30
|
+
assert_equal name, (Holidays.on(date, :fi, :informal)[0] || {})[:name]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|