holidays 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +8 -0
- data/CHANGELOG +3 -0
- data/Gemfile +8 -0
- data/data/build_defs.rb +12 -8
- data/data/index.yaml +3 -1
- data/data/li.yaml +102 -0
- data/data/pl.yaml +310 -0
- data/data/united_nations.yaml +186 -185
- data/holidays.gemspec +61 -11
- data/lib/holidays.rb +19 -2
- data/lib/holidays/MANIFEST +24 -23
- data/lib/holidays/at.rb +17 -13
- data/lib/holidays/au.rb +21 -17
- data/lib/holidays/br.rb +18 -14
- data/lib/holidays/ca.rb +27 -23
- data/lib/holidays/cz.rb +18 -14
- data/lib/holidays/de.rb +18 -14
- data/lib/holidays/dk.rb +20 -16
- data/lib/holidays/el.rb +17 -13
- data/lib/holidays/es.rb +27 -23
- data/lib/holidays/europe.rb +163 -95
- data/lib/holidays/fi.rb +20 -16
- data/lib/holidays/fr.rb +18 -14
- data/lib/holidays/gb.rb +20 -16
- data/lib/holidays/ie.rb +17 -13
- data/lib/holidays/is.rb +21 -17
- data/lib/holidays/it.rb +18 -14
- data/lib/holidays/jp.rb +54 -50
- data/lib/holidays/li.rb +48 -0
- data/lib/holidays/mx.rb +27 -23
- data/lib/holidays/nl.rb +16 -12
- data/lib/holidays/no.rb +14 -10
- data/lib/holidays/north_america.rb +47 -43
- data/lib/holidays/nyse.rb +17 -13
- data/lib/holidays/nz.rb +24 -20
- data/lib/holidays/pl.rb +80 -0
- data/lib/holidays/pt.rb +19 -15
- data/lib/holidays/scandinavia.rb +51 -47
- data/lib/holidays/se.rb +21 -17
- data/lib/holidays/united_nations.rb +68 -8
- data/lib/holidays/ups.rb +15 -11
- data/lib/holidays/us.rb +22 -18
- data/lib/holidays/za.rb +19 -15
- data/rakefile.rb +6 -4
- data/test/defs/test_defs_europe.rb +161 -1
- data/test/defs/test_defs_li.rb +35 -0
- data/test/defs/test_defs_pl.rb +145 -0
- data/test/test_all_regions.rb +48 -0
- metadata +190 -42
data/lib/holidays.rb
CHANGED
@@ -22,6 +22,9 @@ require 'date'
|
|
22
22
|
# [<tt>:any</tt>]
|
23
23
|
# Any region. Return holidays from any loaded region.
|
24
24
|
#
|
25
|
+
#
|
26
|
+
# You can load all the available holiday definition sets by running
|
27
|
+
# Holidays.load_all
|
25
28
|
# == Other options
|
26
29
|
# [<tt>:observed</tt>] Return holidays on the day they are observed (e.g. on a Monday if they fall on a Sunday).
|
27
30
|
# [<tt>:informal</tt>] Include informal holidays (e.g. Valentine's Day)
|
@@ -43,7 +46,7 @@ module Holidays
|
|
43
46
|
# Exception thrown when an unknown region is requested.
|
44
47
|
class UnknownRegionError < ArgumentError; end
|
45
48
|
|
46
|
-
VERSION = '1.0.
|
49
|
+
VERSION = '1.0.4'
|
47
50
|
|
48
51
|
@@regions = []
|
49
52
|
@@holidays_by_month = {}
|
@@ -52,6 +55,7 @@ module Holidays
|
|
52
55
|
WEEKS = {:first => 1, :second => 2, :third => 3, :fourth => 4, :fifth => 5, :last => -1, :second_last => -2, :third_last => -3}
|
53
56
|
MONTH_LENGTHS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
54
57
|
DAY_SYMBOLS = Date::DAYNAMES.collect { |n| n.downcase.intern }
|
58
|
+
DEFINITION_PATH = File.expand_path(File.dirname(__FILE__) + '/holidays/')
|
55
59
|
|
56
60
|
# Get all holidays on a given date.
|
57
61
|
#
|
@@ -269,6 +273,19 @@ module Holidays
|
|
269
273
|
date -= 1 if date.wday == 6
|
270
274
|
date
|
271
275
|
end
|
276
|
+
|
277
|
+
# Returns an array of symbols all the available holiday definitions.
|
278
|
+
#
|
279
|
+
# Optional `full_path` param is used internally for loading all the definitions.
|
280
|
+
def self.available(full_path = false)
|
281
|
+
paths = Dir.glob(DEFINITION_PATH + '/*.rb')
|
282
|
+
full_path ? paths : paths.collect { |path| path.match(/([a-z_-]+)\.rb/i)[1].to_sym }
|
283
|
+
end
|
284
|
+
|
285
|
+
# Load all available holiday definitions
|
286
|
+
def self.load_all
|
287
|
+
self.available(true).each { |path| require path }
|
288
|
+
end
|
272
289
|
|
273
290
|
private
|
274
291
|
# Returns [(arr)regions, (bool)observed, (bool)informal]
|
@@ -302,7 +319,7 @@ private
|
|
302
319
|
end
|
303
320
|
|
304
321
|
regions.flatten!
|
305
|
-
|
322
|
+
|
306
323
|
require "holidays/north_america" if regions.include?(:us) # special case for north_america/US cross-linking
|
307
324
|
|
308
325
|
raise UnknownRegionError unless regions.all? { |r| r == :any or @@regions.include?(r) or begin require "holidays/#{r.to_s}"; rescue LoadError; false; end }
|
data/lib/holidays/MANIFEST
CHANGED
@@ -1,33 +1,34 @@
|
|
1
1
|
==== Regional definitions
|
2
2
|
The following definition files are included in this installation:
|
3
3
|
|
4
|
-
* holidays/at
|
5
|
-
* holidays/au
|
6
|
-
* holidays/br
|
7
|
-
* holidays/ca
|
8
|
-
* holidays/cz
|
9
|
-
* holidays/de
|
10
|
-
* holidays/dk
|
11
|
-
* holidays/el
|
12
|
-
* holidays/es
|
13
|
-
* holidays/europe
|
14
|
-
* holidays/fi
|
15
|
-
* holidays/fr
|
16
|
-
* holidays/gb
|
17
|
-
* holidays/ie
|
18
|
-
* holidays/is
|
19
|
-
* holidays/it
|
20
|
-
* holidays/jp
|
21
4
|
* holidays/mx
|
5
|
+
* holidays/at
|
6
|
+
* holidays/nz
|
22
7
|
* holidays/nl
|
8
|
+
* holidays/dk
|
9
|
+
* holidays/cz
|
10
|
+
* holidays/scandinavia
|
23
11
|
* holidays/no
|
24
|
-
* holidays/north_america
|
25
|
-
* holidays/nyse
|
26
|
-
* holidays/nz
|
27
12
|
* holidays/pt
|
28
|
-
* holidays/
|
29
|
-
* holidays/
|
13
|
+
* holidays/nyse
|
14
|
+
* holidays/it
|
30
15
|
* holidays/united_nations
|
31
|
-
* holidays/
|
16
|
+
* holidays/au
|
32
17
|
* holidays/us
|
18
|
+
* holidays/ie
|
33
19
|
* holidays/za
|
20
|
+
* holidays/is
|
21
|
+
* holidays/north_america
|
22
|
+
* holidays/es
|
23
|
+
* holidays/fi
|
24
|
+
* holidays/el
|
25
|
+
* holidays/europe
|
26
|
+
* holidays/de
|
27
|
+
* holidays/gb
|
28
|
+
* holidays/ups
|
29
|
+
* holidays/jp
|
30
|
+
* holidays/fr
|
31
|
+
* holidays/se
|
32
|
+
* holidays/ca
|
33
|
+
* holidays/br
|
34
|
+
* holidays/pl
|
data/lib/holidays/at.rb
CHANGED
@@ -1,37 +1,41 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Holidays
|
3
|
-
# This file is generated by the Ruby
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
4
|
#
|
5
5
|
# Definitions loaded: data/at.yaml
|
6
6
|
#
|
7
|
-
# To use the definitions in this file, load
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
8
|
# Holiday gem:
|
9
9
|
#
|
10
10
|
# require 'holidays'
|
11
11
|
# require 'holidays/at'
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module AT # :nodoc:
|
15
|
-
|
15
|
+
def self.defined_regions
|
16
|
+
[:at]
|
17
|
+
end
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:at]},
|
20
22
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:at]},
|
21
23
|
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:at]},
|
22
24
|
{:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:at]}],
|
23
|
-
11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]}],
|
24
25
|
1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at]},
|
25
26
|
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:at]}],
|
27
|
+
5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]}],
|
28
|
+
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at]}],
|
29
|
+
10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]}],
|
30
|
+
11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at]}],
|
26
31
|
12 => [{:mday => 8, :name => "Mariä Empfängnis", :regions => [:at]},
|
27
32
|
{:mday => 25, :name => "1. Weihnachtstag", :regions => [:at]},
|
28
|
-
{:mday => 26, :name => "2. Weihnachtstag", :regions => [:at]}]
|
29
|
-
|
30
|
-
|
31
|
-
}
|
33
|
+
{:mday => 26, :name => "2. Weihnachtstag", :regions => [:at]}]
|
34
|
+
}
|
35
|
+
end
|
32
36
|
end
|
33
37
|
|
34
38
|
|
35
39
|
end
|
36
40
|
|
37
|
-
Holidays.merge_defs(Holidays::AT
|
41
|
+
Holidays.merge_defs(Holidays::AT.defined_regions, Holidays::AT.holidays_by_month)
|
data/lib/holidays/au.rb
CHANGED
@@ -1,43 +1,47 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Holidays
|
3
|
-
# This file is generated by the Ruby
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
4
|
#
|
5
5
|
# Definitions loaded: data/au.yaml
|
6
6
|
#
|
7
|
-
# To use the definitions in this file, load
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
8
|
# Holiday gem:
|
9
9
|
#
|
10
10
|
# require 'holidays'
|
11
11
|
# require 'holidays/au'
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module AU # :nodoc:
|
15
|
-
|
15
|
+
def self.defined_regions
|
16
|
+
[:au, :au_tas, :au_wa, :au_vic, :au_qld, :au_nt, :au_act, :au_nsw, :au_sa, :au_qld_brisbane]
|
17
|
+
end
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:au]},
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:au]},
|
21
22
|
{:function => lambda { |year| Holidays.easter(year)-1 }, :function_id => "easter(year)-1", :name => "Easter Saturday", :regions => [:au]},
|
22
23
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:au]},
|
23
24
|
{:function => lambda { |year| Holidays.easter(year)+2 }, :function_id => "easter(year)+2", :name => "Easter Monday", :regions => [:au_tas]}],
|
24
|
-
6 => [{:wday => 1, :week => 1, :name => "Foundation Day", :regions => [:au_wa]},
|
25
|
-
{:wday => 1, :week => 2, :name => "Queen's Birthday", :regions => [:au_act, :au_nsw, :au_sa, :au_tas, :au_nt, :au_qld, :au_vic]},
|
26
|
-
{:mday => 6, :type => :informal, :name => "Queensland Day", :regions => [:au_qld]}],
|
27
25
|
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:au]},
|
28
26
|
{:mday => 26, :name => "Australia Day", :regions => [:au]}],
|
29
|
-
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:au]},
|
30
|
-
{:mday => 26, :name => "Boxing Day", :regions => [:au]}],
|
31
|
-
8 => [{:wday => 3, :week => -3, :name => "Ekka", :regions => [:au_qld_brisbane]}],
|
32
27
|
3 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_wa]},
|
33
28
|
{:wday => 1, :week => 2, :name => "Eight Hours Day", :regions => [:au_tas]},
|
34
29
|
{:wday => 1, :week => 2, :name => "Labour Day", :regions => [:au_vic]}],
|
35
30
|
4 => [{:mday => 25, :name => "ANZAC Day", :regions => [:au]}],
|
36
|
-
|
37
|
-
|
31
|
+
5 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_qld]},
|
32
|
+
{:wday => 1, :week => 1, :name => "May Day", :regions => [:au_nt]}],
|
33
|
+
6 => [{:wday => 1, :week => 1, :name => "Foundation Day", :regions => [:au_wa]},
|
34
|
+
{:wday => 1, :week => 2, :name => "Queen's Birthday", :regions => [:au_act, :au_nsw, :au_sa, :au_tas, :au_nt, :au_qld, :au_vic]},
|
35
|
+
{:mday => 6, :type => :informal, :name => "Queensland Day", :regions => [:au_qld]}],
|
36
|
+
8 => [{:wday => 3, :week => -3, :name => "Ekka", :regions => [:au_qld_brisbane]}],
|
37
|
+
10 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_act, :au_nsw, :au_sa]}],
|
38
|
+
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:au]},
|
39
|
+
{:mday => 26, :name => "Boxing Day", :regions => [:au]}]
|
40
|
+
}
|
41
|
+
end
|
38
42
|
end
|
39
43
|
|
40
44
|
|
41
45
|
end
|
42
46
|
|
43
|
-
Holidays.merge_defs(Holidays::AU
|
47
|
+
Holidays.merge_defs(Holidays::AU.defined_regions, Holidays::AU.holidays_by_month)
|
data/lib/holidays/br.rb
CHANGED
@@ -1,36 +1,40 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Holidays
|
3
|
-
# This file is generated by the Ruby
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
4
|
#
|
5
5
|
# Definitions loaded: data/br.yaml
|
6
6
|
#
|
7
|
-
# To use the definitions in this file, load
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
8
|
# Holiday gem:
|
9
9
|
#
|
10
10
|
# require 'holidays'
|
11
11
|
# require 'holidays/br'
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module BR # :nodoc:
|
15
|
-
|
15
|
+
def self.defined_regions
|
16
|
+
[:br]
|
17
|
+
end
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:br]},
|
20
22
|
{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:br]},
|
21
23
|
{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:br]},
|
22
24
|
{:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpus Christ", :regions => [:br]}],
|
23
|
-
11 => [{:mday => 2, :name => "Dia de Finados", :regions => [:br]},
|
24
|
-
{:mday => 15, :name => "Proclamação da República", :regions => [:br]}],
|
25
25
|
1 => [{:mday => 1, :name => "Dia da Confraternização Universal", :regions => [:br]}],
|
26
|
-
12 => [{:mday => 25, :name => "Natal", :regions => [:br]}],
|
27
|
-
9 => [{:mday => 7, :name => "Proclamação da Independência", :regions => [:br]}],
|
28
26
|
4 => [{:mday => 21, :name => "Dia de Tiradentes", :regions => [:br]}],
|
29
|
-
|
30
|
-
|
27
|
+
5 => [{:mday => 1, :name => "Dia do Trabalho", :regions => [:br]}],
|
28
|
+
9 => [{:mday => 7, :name => "Proclamação da Independência", :regions => [:br]}],
|
29
|
+
10 => [{:mday => 12, :name => "Dia de Nossa Senhora Aparecida", :regions => [:br]}],
|
30
|
+
11 => [{:mday => 2, :name => "Dia de Finados", :regions => [:br]},
|
31
|
+
{:mday => 15, :name => "Proclamação da República", :regions => [:br]}],
|
32
|
+
12 => [{:mday => 25, :name => "Natal", :regions => [:br]}]
|
33
|
+
}
|
34
|
+
end
|
31
35
|
end
|
32
36
|
|
33
37
|
|
34
38
|
end
|
35
39
|
|
36
|
-
Holidays.merge_defs(Holidays::BR
|
40
|
+
Holidays.merge_defs(Holidays::BR.defined_regions, Holidays::BR.holidays_by_month)
|
data/lib/holidays/ca.rb
CHANGED
@@ -1,54 +1,58 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Holidays
|
3
|
-
# This file is generated by the Ruby
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
4
|
#
|
5
5
|
# Definitions loaded: data/ca.yaml, data/north_america_informal.yaml
|
6
6
|
#
|
7
|
-
# To use the definitions in this file, load
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
8
|
# Holiday gem:
|
9
9
|
#
|
10
10
|
# require 'holidays'
|
11
11
|
# require 'holidays/ca'
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module CA # :nodoc:
|
15
|
-
|
15
|
+
def self.defined_regions
|
16
|
+
[:ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_nf, :ca_nt, :ca_nu, :ca_bc, :ca_ns, :ca_yk, :us]
|
17
|
+
end
|
16
18
|
|
17
|
-
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:ca]},
|
22
|
+
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :type => :informal, :name => "Easter Monday", :regions => [:ca]}],
|
23
|
+
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:ca]},
|
24
|
+
{:mday => 2, :name => "New Year's", :regions => [:ca_qc]}],
|
25
|
+
2 => [{:wday => 1, :week => 3, :name => "Family Day", :regions => [:ca_ab, :ca_on, :ca_sk]},
|
26
|
+
{:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
|
27
|
+
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
|
28
|
+
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
|
29
|
+
3 => [{:mday => 23, :name => "St. George's Day", :regions => [:ca_nf]},
|
30
|
+
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
18
31
|
5 => [{:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "Victoria Day", :regions => [:ca]},
|
19
32
|
{:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "National Patriotes Day", :regions => [:ca_qc]},
|
20
33
|
{:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
|
21
|
-
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:ca]},
|
22
|
-
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :type => :informal, :name => "Easter Monday", :regions => [:ca]}],
|
23
|
-
11 => [{:mday => 11, :name => "Remembrance Day", :regions => [:ca]}],
|
24
34
|
6 => [{:mday => 24, :name => "Discovery Day", :regions => [:ca_nf]},
|
25
35
|
{:mday => 24, :name => "Fête Nationale", :regions => [:ca_qc]},
|
26
36
|
{:mday => 21, :name => "National Aboriginal Day", :regions => [:ca_nt]}],
|
27
|
-
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:ca]},
|
28
|
-
{:mday => 2, :name => "New Year's", :regions => [:ca_qc]}],
|
29
|
-
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ca]},
|
30
|
-
{:mday => 26, :name => "Boxing Day", :regions => [:ca]}],
|
31
37
|
7 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Canada Day", :regions => [:ca]},
|
32
38
|
{:mday => 12, :name => "Orangemen's Day", :regions => [:ca_nf]},
|
33
39
|
{:mday => 9, :name => "Nunavut Day", :regions => [:ca_nu]}],
|
34
|
-
2 => [{:wday => 1, :week => 3, :name => "Family Day", :regions => [:ca_ab, :ca_on, :ca_sk]},
|
35
|
-
{:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
|
36
|
-
{:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
|
37
|
-
{:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
|
38
40
|
8 => [{:wday => 1, :week => 1, :name => "BC Day", :regions => [:ca_bc]},
|
39
41
|
{:wday => 1, :week => 1, :name => "Saskatchewan Day", :regions => [:ca_sk]},
|
40
42
|
{:wday => 1, :week => 1, :name => "Heritage Day", :regions => [:ca_ab]},
|
41
43
|
{:wday => 1, :week => 1, :name => "Natal Day", :regions => [:ca_ns]},
|
42
44
|
{:wday => 1, :week => 1, :name => "Civic Holiday", :regions => [:ca_on]},
|
43
45
|
{:wday => 1, :week => 3, :name => "Discovery Day", :regions => [:ca_yk]}],
|
44
|
-
3 => [{:mday => 23, :name => "St. George's Day", :regions => [:ca_nf]},
|
45
|
-
{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
|
46
46
|
9 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:ca]}],
|
47
|
-
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
|
48
|
-
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
|
49
47
|
10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca]},
|
50
|
-
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
|
51
|
-
|
48
|
+
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
|
49
|
+
11 => [{:mday => 11, :name => "Remembrance Day", :regions => [:ca]}],
|
50
|
+
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ca]},
|
51
|
+
{:mday => 26, :name => "Boxing Day", :regions => [:ca]}],
|
52
|
+
4 => [{:mday => 1, :type => :informal, :name => "April Fool's Day", :regions => [:us, :ca]},
|
53
|
+
{:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}]
|
54
|
+
}
|
55
|
+
end
|
52
56
|
end
|
53
57
|
|
54
58
|
# Monday on or before May 24
|
@@ -66,4 +70,4 @@ end
|
|
66
70
|
|
67
71
|
end
|
68
72
|
|
69
|
-
Holidays.merge_defs(Holidays::CA
|
73
|
+
Holidays.merge_defs(Holidays::CA.defined_regions, Holidays::CA.holidays_by_month)
|
data/lib/holidays/cz.rb
CHANGED
@@ -1,36 +1,40 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Holidays
|
3
|
-
# This file is generated by the Ruby
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
4
|
#
|
5
5
|
# Definitions loaded: data/cz.yaml
|
6
6
|
#
|
7
|
-
# To use the definitions in this file, load
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
8
|
# Holiday gem:
|
9
9
|
#
|
10
10
|
# require 'holidays'
|
11
11
|
# require 'holidays/cz'
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module CZ # :nodoc:
|
15
|
-
|
15
|
+
def self.defined_regions
|
16
|
+
[:cz]
|
17
|
+
end
|
16
18
|
|
17
|
-
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]}],
|
22
|
+
1 => [{:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]}],
|
18
23
|
5 => [{:mday => 1, :name => "Svátek práce", :regions => [:cz]},
|
19
24
|
{:mday => 8, :name => "Den vítězství", :regions => [:cz]}],
|
20
|
-
0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]}],
|
21
|
-
11 => [{:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]}],
|
22
|
-
1 => [{:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]}],
|
23
|
-
12 => [{:mday => 24, :name => "Štědrý den", :regions => [:cz]},
|
24
|
-
{:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]},
|
25
|
-
{:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]}],
|
26
25
|
7 => [{:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
|
27
26
|
{:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]}],
|
28
27
|
9 => [{:mday => 28, :name => "Den české státnosti", :regions => [:cz]}],
|
29
|
-
10 => [{:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]}]
|
30
|
-
|
28
|
+
10 => [{:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]}],
|
29
|
+
11 => [{:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]}],
|
30
|
+
12 => [{:mday => 24, :name => "Štědrý den", :regions => [:cz]},
|
31
|
+
{:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]},
|
32
|
+
{:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]}]
|
33
|
+
}
|
34
|
+
end
|
31
35
|
end
|
32
36
|
|
33
37
|
|
34
38
|
end
|
35
39
|
|
36
|
-
Holidays.merge_defs(Holidays::CZ
|
40
|
+
Holidays.merge_defs(Holidays::CZ.defined_regions, Holidays::CZ.holidays_by_month)
|
data/lib/holidays/de.rb
CHANGED
@@ -1,36 +1,40 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Holidays
|
3
|
-
# This file is generated by the Ruby
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
4
4
|
#
|
5
5
|
# Definitions loaded: data/de.yaml
|
6
6
|
#
|
7
|
-
# To use the definitions in this file, load
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
8
8
|
# Holiday gem:
|
9
9
|
#
|
10
10
|
# require 'holidays'
|
11
11
|
# require 'holidays/de'
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# All the definitions are available at https://github.com/alexdunae/holidays
|
14
14
|
module DE # :nodoc:
|
15
|
-
|
15
|
+
def self.defined_regions
|
16
|
+
[:de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_st, :de_bb, :de_mv, :de_sn, :de_th]
|
17
|
+
end
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
19
|
+
def self.holidays_by_month
|
20
|
+
{
|
21
|
+
0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:de]},
|
20
22
|
{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:de]},
|
21
23
|
{:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:de]},
|
22
24
|
{:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:de]},
|
23
25
|
{:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl]}],
|
24
|
-
11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
|
25
|
-
{:function => lambda { |year| Holidays.de_buss_und_bettag(year) }, :function_id => "de_buss_und_bettag(year)", :name => "Buß- und Bettag", :regions => [:de_sn]}],
|
26
26
|
1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:de]},
|
27
27
|
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]}],
|
28
|
-
|
29
|
-
{:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]}],
|
28
|
+
5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]}],
|
30
29
|
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]}],
|
31
30
|
10 => [{:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]},
|
32
|
-
{:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]}]
|
33
|
-
|
31
|
+
{:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]}],
|
32
|
+
11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
|
33
|
+
{:function => lambda { |year| Holidays.de_buss_und_bettag(year) }, :function_id => "de_buss_und_bettag(year)", :name => "Buß- und Bettag", :regions => [:de_sn]}],
|
34
|
+
12 => [{:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
|
35
|
+
{:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]}]
|
36
|
+
}
|
37
|
+
end
|
34
38
|
end
|
35
39
|
|
36
40
|
# Germany: Wednesday before November 23
|
@@ -48,4 +52,4 @@ end
|
|
48
52
|
|
49
53
|
end
|
50
54
|
|
51
|
-
Holidays.merge_defs(Holidays::DE
|
55
|
+
Holidays.merge_defs(Holidays::DE.defined_regions, Holidays::DE.holidays_by_month)
|