holidays 1.0.3 → 1.0.4
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/.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)
|