wombleton-holidays 0.9.6

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.
Files changed (90) hide show
  1. data/.gitignore +3 -0
  2. data/CHANGELOG +22 -0
  3. data/LICENSE +21 -0
  4. data/README.rdoc +77 -0
  5. data/REFERENCES +16 -0
  6. data/VERSION +1 -0
  7. data/data/SYNTAX +111 -0
  8. data/data/au.yaml +111 -0
  9. data/data/build_defs.rb +152 -0
  10. data/data/ca.yaml +141 -0
  11. data/data/cz.yaml +68 -0
  12. data/data/de.yaml +111 -0
  13. data/data/dk.yaml +117 -0
  14. data/data/es.yaml +161 -0
  15. data/data/fr.yaml +70 -0
  16. data/data/gb.yaml +106 -0
  17. data/data/ie.yaml +58 -0
  18. data/data/index.yaml +26 -0
  19. data/data/is.yaml +136 -0
  20. data/data/it.yaml +66 -0
  21. data/data/mx.yaml +106 -0
  22. data/data/nl.yaml +67 -0
  23. data/data/no.yaml +82 -0
  24. data/data/north_america_informal.yaml +49 -0
  25. data/data/nyse.yaml +63 -0
  26. data/data/nz.yaml +141 -0
  27. data/data/pt.yaml +85 -0
  28. data/data/se.yaml +91 -0
  29. data/data/united_nations.yaml +188 -0
  30. data/data/ups.yaml +56 -0
  31. data/data/us.yaml +81 -0
  32. data/data/za.yaml +78 -0
  33. data/holidays.gemspec +16 -0
  34. data/lib/holidays/MANIFEST +28 -0
  35. data/lib/holidays/au.rb +43 -0
  36. data/lib/holidays/ca.rb +69 -0
  37. data/lib/holidays/cz.rb +36 -0
  38. data/lib/holidays/de.rb +51 -0
  39. data/lib/holidays/dk.rb +48 -0
  40. data/lib/holidays/es.rb +53 -0
  41. data/lib/holidays/europe.rb +236 -0
  42. data/lib/holidays/fr.rb +37 -0
  43. data/lib/holidays/gb.rb +41 -0
  44. data/lib/holidays/ie.rb +33 -0
  45. data/lib/holidays/is.rb +62 -0
  46. data/lib/holidays/it.rb +36 -0
  47. data/lib/holidays/mx.rb +52 -0
  48. data/lib/holidays/nl.rb +37 -0
  49. data/lib/holidays/no.rb +40 -0
  50. data/lib/holidays/north_america.rb +108 -0
  51. data/lib/holidays/nyse.rb +33 -0
  52. data/lib/holidays/nz.rb +69 -0
  53. data/lib/holidays/pt.rb +38 -0
  54. data/lib/holidays/scandinavia.rb +115 -0
  55. data/lib/holidays/se.rb +53 -0
  56. data/lib/holidays/united_nations.rb +25 -0
  57. data/lib/holidays/ups.rb +32 -0
  58. data/lib/holidays/us.rb +49 -0
  59. data/lib/holidays/za.rb +36 -0
  60. data/lib/holidays.rb +408 -0
  61. data/rakefile.rb +103 -0
  62. data/test/defs/test_defs_au.rb +35 -0
  63. data/test/defs/test_defs_ca.rb +28 -0
  64. data/test/defs/test_defs_cz.rb +25 -0
  65. data/test/defs/test_defs_de.rb +48 -0
  66. data/test/defs/test_defs_dk.rb +29 -0
  67. data/test/defs/test_defs_es.rb +56 -0
  68. data/test/defs/test_defs_europe.rb +277 -0
  69. data/test/defs/test_defs_fr.rb +25 -0
  70. data/test/defs/test_defs_gb.rb +35 -0
  71. data/test/defs/test_defs_ie.rb +20 -0
  72. data/test/defs/test_defs_is.rb +32 -0
  73. data/test/defs/test_defs_it.rb +24 -0
  74. data/test/defs/test_defs_mx.rb +21 -0
  75. data/test/defs/test_defs_nl.rb +23 -0
  76. data/test/defs/test_defs_no.rb +28 -0
  77. data/test/defs/test_defs_north_america.rb +53 -0
  78. data/test/defs/test_defs_nyse.rb +21 -0
  79. data/test/defs/test_defs_nz.rb +21 -0
  80. data/test/defs/test_defs_pt.rb +31 -0
  81. data/test/defs/test_defs_scandinavia.rb +75 -0
  82. data/test/defs/test_defs_se.rb +32 -0
  83. data/test/defs/test_defs_ups.rb +20 -0
  84. data/test/defs/test_defs_us.rb +22 -0
  85. data/test/defs/test_defs_za.rb +24 -0
  86. data/test/test_date.rb +101 -0
  87. data/test/test_helper.rb +11 -0
  88. data/test/test_holidays.rb +117 -0
  89. data/test/test_multiple_regions.rb +20 -0
  90. metadata +172 -0
data/holidays.gemspec ADDED
@@ -0,0 +1,16 @@
1
+ # Auto-generated gemspec
2
+ Gem::Specification.new do |s|
3
+ s.name = "wombleton-holidays"
4
+ s.version = "0.9.6"
5
+ s.date = "2010-03-04"
6
+ s.summary = "A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday!"
7
+ s.email = "wombletno@gmail.com"
8
+ s.homepage = "http://code.dunae.ca/holidays"
9
+ s.description = "A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday!"
10
+ s.has_rdoc = true
11
+ s.author = "Alex Dunae"
12
+ s.extra_rdoc_files = ['README.rdoc', 'data/SYNTAX', 'lib/holidays/MANIFEST', 'REFERENCES', 'CHANGELOG', 'LICENSE']
13
+ s.rdoc_options << '--all' << '--inline-source' << '--line-numbers' << '--charset' << 'utf-8'
14
+ s.test_files = Dir.glob("{test}/**/*")
15
+ s.files = Dir.glob("{data,lib,test}/**/*")
16
+ end
@@ -0,0 +1,28 @@
1
+ ==== Regional definitions
2
+ The following definition files are included in this installation:
3
+
4
+ * holidays/nyse
5
+ * holidays/no
6
+ * holidays/es
7
+ * holidays/ie
8
+ * holidays/united_nations
9
+ * holidays/au
10
+ * holidays/mx
11
+ * holidays/za
12
+ * holidays/scandinavia
13
+ * holidays/ca
14
+ * holidays/us
15
+ * holidays/nl
16
+ * holidays/it
17
+ * holidays/de
18
+ * holidays/dk
19
+ * holidays/cz
20
+ * holidays/nz
21
+ * holidays/ups
22
+ * holidays/pt
23
+ * holidays/europe
24
+ * holidays/se
25
+ * holidays/north_america
26
+ * holidays/fr
27
+ * holidays/gb
28
+ * holidays/is
@@ -0,0 +1,43 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # Definitions loaded: data/au.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/au'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module AU # :nodoc:
15
+ DEFINED_REGIONS = [:au_qld, :au_nt, :au, :au_tas, :au_wa, :au_act, :au_nsw, :au_sa, :au_vic, :au_qld_brisbane]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_qld]},
19
+ {:wday => 1, :week => 1, :name => "May Day", :regions => [:au_nt]}],
20
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:au]},
21
+ {:function => lambda { |year| Holidays.easter(year)-1 }, :function_id => "easter(year)-1", :name => "Easter Saturday", :regions => [:au]},
22
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:au]},
23
+ {: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
+ 1 => [{:mday => 1, :name => "New Year's Day", :regions => [:au]},
28
+ {: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
+ 3 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_wa]},
33
+ {:wday => 1, :week => 2, :name => "Eight Hours Day", :regions => [:au_tas]},
34
+ {:wday => 1, :week => 2, :name => "Labour Day", :regions => [:au_vic]}],
35
+ 4 => [{:mday => 25, :name => "ANZAC Day", :regions => [:au]}],
36
+ 10 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_act, :au_nsw, :au_sa]}]
37
+ }
38
+ end
39
+
40
+
41
+ end
42
+
43
+ Holidays.merge_defs(Holidays::AU::DEFINED_REGIONS, Holidays::AU::HOLIDAYS_BY_MONTH)
@@ -0,0 +1,69 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # Definitions loaded: data/ca.yaml, data/north_america_informal.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/ca'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module CA # :nodoc:
15
+ DEFINED_REGIONS = [:ca, :ca_qc, :ca_nf, :ca_nt, :ca_nu, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_bc, :ca_ns, :ca_yk, :us]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "Victoria Day", :regions => [:ca]},
19
+ {:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "National Patriotes Day", :regions => [:ca_qc]},
20
+ {: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 => "Rememberance Day", :regions => [:ca]}],
24
+ 6 => [{:mday => 24, :name => "Discovery Day", :regions => [:ca_nf]},
25
+ {:mday => 24, :name => "Fête Nationale", :regions => [:ca_qc]},
26
+ {: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
+ 7 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Canada Day", :regions => [:ca]},
32
+ {:mday => 12, :name => "Orangemen's Day", :regions => [:ca_nf]},
33
+ {: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
+ 8 => [{:wday => 1, :week => 1, :name => "BC Day", :regions => [:ca_bc]},
39
+ {:wday => 1, :week => 1, :name => "Saskatchewan Day", :regions => [:ca_sk]},
40
+ {:wday => 1, :week => 1, :name => "Heritage Day", :regions => [:ca_ab]},
41
+ {:wday => 1, :week => 1, :name => "Natal Day", :regions => [:ca_ns]},
42
+ {:wday => 1, :week => 1, :name => "Civic Holiday", :regions => [:ca_on]},
43
+ {: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
+ 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
+ 10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca]},
50
+ {:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}]
51
+ }
52
+ end
53
+
54
+ # Monday on or before May 24
55
+ def self.ca_victoria_day(year)
56
+ date = Date.civil(year,5,24)
57
+ if date.wday > 1
58
+ date -= (date.wday - 1)
59
+ elsif date.wday == 0
60
+ date -= 6
61
+ end
62
+ date
63
+ end
64
+
65
+
66
+
67
+ end
68
+
69
+ Holidays.merge_defs(Holidays::CA::DEFINED_REGIONS, Holidays::CA::HOLIDAYS_BY_MONTH)
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # Definitions loaded: data/cz.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/cz'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module CZ # :nodoc:
15
+ DEFINED_REGIONS = [:cz]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:mday => 1, :name => "Svátek práce", :regions => [:cz]},
19
+ {: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
+ 7 => [{:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
27
+ {:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]}],
28
+ 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
+ }
31
+ end
32
+
33
+
34
+ end
35
+
36
+ Holidays.merge_defs(Holidays::CZ::DEFINED_REGIONS, Holidays::CZ::HOLIDAYS_BY_MONTH)
@@ -0,0 +1,51 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # Definitions loaded: data/de.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/de'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module DE # :nodoc:
15
+ DEFINED_REGIONS = [:de, :de_bw, :de_by, :de_nw, :de_rp, :de_sl, :de_sn, :de_he, :de_st, :de_bb, :de_mv, :de_th]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]}],
19
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:de]},
20
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:de]},
21
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:de]},
22
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:de]},
23
+ {: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
+ 1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:de]},
27
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]}],
28
+ 12 => [{:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
29
+ {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]}],
30
+ 8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]}],
31
+ 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
+ }
34
+ end
35
+
36
+ # Germany: Wednesday before November 23
37
+ def self.de_buss_und_bettag(year)
38
+ date = Date.civil(year,11,23)
39
+ if date.wday > 3
40
+ date -= (date.wday - 3)
41
+ else
42
+ date -= (date.wday + 4)
43
+ end
44
+ date
45
+ end
46
+
47
+
48
+
49
+ end
50
+
51
+ Holidays.merge_defs(Holidays::DE::DEFINED_REGIONS, Holidays::DE::HOLIDAYS_BY_MONTH)
@@ -0,0 +1,48 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # Definitions loaded: data/dk.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/dk'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module DK # :nodoc:
15
+ DEFINED_REGIONS = [:dk]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
19
+ {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]}],
20
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk]},
21
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk]},
22
+ {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
23
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Langfredag", :regions => [:dk]},
24
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskedag", :regions => [:dk]},
25
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "2. påskedag", :regions => [:dk]},
26
+ {:function => lambda { |year| Holidays.easter(year)+26 }, :function_id => "easter(year)+26", :name => "Store Bededag", :regions => [:dk]},
27
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Kristi Himmelfartsdag", :regions => [:dk]},
28
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pinsedag", :regions => [:dk]},
29
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "2. Pinsedag", :regions => [:dk]}],
30
+ 11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]}],
31
+ 6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
32
+ {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
33
+ {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]}],
34
+ 1 => [{:mday => 1, :name => "Nytårsdag", :regions => [:dk]}],
35
+ 12 => [{:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
36
+ {:mday => 24, :name => "Juleaftensdag", :regions => [:dk]},
37
+ {:mday => 25, :name => "1. juledag", :regions => [:dk]},
38
+ {:mday => 26, :name => "2. juledag", :regions => [:dk]}],
39
+ 4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
40
+ {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
41
+ {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]}]
42
+ }
43
+ end
44
+
45
+
46
+ end
47
+
48
+ Holidays.merge_defs(Holidays::DK::DEFINED_REGIONS, Holidays::DK::HOLIDAYS_BY_MONTH)
@@ -0,0 +1,53 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # Definitions loaded: data/es.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/es'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module ES # :nodoc:
15
+ DEFINED_REGIONS = [:es, :es_m, :es_cn, :es_cm, :es_pv, :es_ct, :es_na, :es_v, :es_vc, :es_mu, :es_lo, :es_ib, :es_ga, :es_an, :es_ce, :es_o, :es_ex, :es_ar, :es_cl]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:mday => 1, :name => "Día del Trabajador", :regions => [:es]},
19
+ {:mday => 2, :name => "Fiesta de la Comunidad", :regions => [:es_m]},
20
+ {:mday => 30, :name => "Día de las Canarias", :regions => [:es_cn]},
21
+ {:mday => 31, :name => "Día de la Región Castilla-La Mancha", :regions => [:es_cm]}],
22
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Jueves Santo", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]},
23
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Viernes Santo", :regions => [:es]},
24
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lunes de Pascua", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]}],
25
+ 11 => [{:mday => 1, :name => "Todos los Santos", :regions => [:es]}],
26
+ 6 => [{:mday => 9, :name => "Día de la Región de Murcia", :regions => [:es_mu]},
27
+ {:mday => 9, :name => "Día de La Rioja", :regions => [:es_lo]}],
28
+ 1 => [{:mday => 1, :name => "Año Nuevo", :regions => [:es]},
29
+ {:mday => 6, :name => "Día de Reyes", :regions => [:es]}],
30
+ 12 => [{:mday => 6, :name => "Día de la Constitución", :regions => [:es]},
31
+ {:mday => 8, :name => "Inmaculada Concepción", :regions => [:es]},
32
+ {:mday => 25, :name => "Navidad del Señor", :regions => [:es]},
33
+ {:mday => 26, :name => "San Esteban", :regions => [:es_ib, :es_ct]}],
34
+ 7 => [{:mday => 23, :name => "Santiago Apostol", :regions => [:es_ga]}],
35
+ 2 => [{:mday => 28, :name => "Día de Andalucía", :regions => [:es_an]}],
36
+ 8 => [{:mday => 15, :name => "Asunción", :regions => [:es]}],
37
+ 3 => [{:mday => 1, :name => "Día de las Islas Baleares", :regions => [:es_ib]},
38
+ {:mday => 19, :name => "San José", :regions => [:es_v, :es_vc, :es_cm, :es_mu, :es_m]}],
39
+ 9 => [{:mday => 2, :name => "Día de Ceuta", :regions => [:es_ce]},
40
+ {:mday => 8, :name => "Día de Asturias", :regions => [:es_o]},
41
+ {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
42
+ {:mday => 11, :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]}],
43
+ 4 => [{:mday => 23, :name => "San Jorge", :regions => [:es_ar, :es_cl]},
44
+ {:mday => 23, :name => "Día de Aragón", :regions => [:es_ar]}],
45
+ 10 => [{:mday => 9, :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
46
+ {:mday => 12, :name => "Día de la Hispanidad", :regions => [:es]}]
47
+ }
48
+ end
49
+
50
+
51
+ end
52
+
53
+ Holidays.merge_defs(Holidays::ES::DEFINED_REGIONS, Holidays::ES::HOLIDAYS_BY_MONTH)
@@ -0,0 +1,236 @@
1
+ # coding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holiday gem.
4
+ #
5
+ # 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
+ #
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/europe'
12
+ #
13
+ # More definitions are available at http://code.dunae.ca/holidays.
14
+ module Europe # :nodoc:
15
+ DEFINED_REGIONS = [:cz, :dk, :no, :de, :de_bw, :de_by, :de_nw, :de_rp, :de_sl, :de_sn, :de_he, :de_st, :de_bb, :de_mv, :de_th, :es, :es_m, :es_cn, :es_cm, :es_pv, :es_ct, :es_na, :es_v, :es_vc, :es_mu, :es_lo, :es_ib, :es_ga, :es_an, :es_ce, :es_o, :es_ex, :es_ar, :es_cl, :fr, :gb, :ie, :je, :gb_jsy, :gg, :gb_gsy, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :im, :gb_iom, :gb_con, :is, :it, :nl, :pt]
16
+
17
+ HOLIDAYS_BY_MONTH = {
18
+ 5 => [{:mday => 1, :name => "Svátek práce", :regions => [:cz]},
19
+ {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
20
+ {:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
21
+ {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
22
+ {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
23
+ {:mday => 1, :name => "Día del Trabajador", :regions => [:es]},
24
+ {:mday => 2, :name => "Fiesta de la Comunidad", :regions => [:es_m]},
25
+ {:mday => 30, :name => "Día de las Canarias", :regions => [:es_cn]},
26
+ {:mday => 31, :name => "Día de la Región Castilla-La Mancha", :regions => [:es_cm]},
27
+ {:mday => 1, :name => "Fête du travail", :regions => [:fr]},
28
+ {:mday => 8, :name => "Victoire 1945", :regions => [:fr]},
29
+ {:wday => 1, :week => 1, :name => "May Day", :regions => [:gb, :ie]},
30
+ {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
31
+ {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]},
32
+ {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
33
+ {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
34
+ {:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
35
+ {:mday => 4, :name => "Dodenherdenking", :regions => [:nl]},
36
+ {:mday => 5, :name => "Bevrijdingsdag", :regions => [:nl]},
37
+ {:mday => 1, :name => "1. mai", :regions => [:no]},
38
+ {:mday => 17, :name => "17. mai", :regions => [:no]},
39
+ {:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
40
+ 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]},
41
+ {:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]},
42
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk, :no]},
43
+ {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
44
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Langfredag", :regions => [:dk, :no]},
45
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskedag", :regions => [:dk]},
46
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "2. påskedag", :regions => [:dk, :no]},
47
+ {:function => lambda { |year| Holidays.easter(year)+26 }, :function_id => "easter(year)+26", :name => "Store Bededag", :regions => [:dk]},
48
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Kristi Himmelfartsdag", :regions => [:dk, :no]},
49
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pinsedag", :regions => [:dk]},
50
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "2. Pinsedag", :regions => [:dk]},
51
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:de]},
52
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:de]},
53
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:de]},
54
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:de]},
55
+ {: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]},
56
+ {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Jueves Santo", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]},
57
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Viernes Santo", :regions => [:es]},
58
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lunes de Pascua", :regions => [:es_pv, :es_ct, :es_na, :es_v, :es_vc]},
59
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pâques", :regions => [:fr]},
60
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lundi de Pâques", :regions => [:fr]},
61
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Ascension", :regions => [:fr]},
62
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pentecôte", :regions => [:fr]},
63
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Lundi de Pentecôte", :regions => [:fr]},
64
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:gb]},
65
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Easter Sunday", :regions => [:gb]},
66
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :ie]},
67
+ {:function => lambda { |year| Holidays.easter(year)-48 }, :function_id => "easter(year)-48", :name => "Bolludagur", :regions => [:is]},
68
+ {:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :name => "Sprengidagur", :regions => [:is]},
69
+ {:function => lambda { |year| Holidays.easter(year)-46 }, :function_id => "easter(year)-46", :name => "Öskudagur", :regions => [:is]},
70
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Pálmasunnudagur", :regions => [:is]},
71
+ {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skírdagur", :regions => [:is]},
72
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Föstudaginn langi", :regions => [:is]},
73
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páskadagur", :regions => [:is]},
74
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Annar í páskum", :regions => [:is]},
75
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Uppstigningardagur", :regions => [:is]},
76
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Hvítasunnudagur", :regions => [:is]},
77
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Annar í hvítasunnu", :regions => [:is]},
78
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pasqua", :regions => [:it]},
79
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lunedì dell'Angelo", :regions => [:it]},
80
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Goede Vrijdag", :regions => [:nl]},
81
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pasen", :regions => [:nl]},
82
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Pasen", :regions => [:nl]},
83
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Hemelvaartsdag", :regions => [:nl]},
84
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pinksteren", :regions => [:nl]},
85
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pinksteren", :regions => [:nl]},
86
+ {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skjærtorsdag", :regions => [:no]},
87
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "1. påskedag", :regions => [:no]},
88
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "1. pinsedag", :regions => [:no]},
89
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "2. pinsedag", :regions => [:no]},
90
+ {:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:pt]},
91
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:pt]},
92
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:pt]},
93
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpo de Deus", :regions => [:pt]}],
94
+ 11 => [{:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
95
+ {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
96
+ {:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
97
+ {:function => lambda { |year| Holidays.de_buss_und_bettag(year) }, :function_id => "de_buss_und_bettag(year)", :name => "Buß- und Bettag", :regions => [:de_sn]},
98
+ {:mday => 1, :name => "Todos los Santos", :regions => [:es]},
99
+ {:mday => 1, :name => "Toussaint", :regions => [:fr]},
100
+ {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
101
+ {:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
102
+ {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]},
103
+ {:mday => 1, :name => "Ognissanti", :regions => [:it]},
104
+ {:mday => 1, :name => "Todos os Santos", :regions => [:pt]}],
105
+ 6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
106
+ {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
107
+ {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
108
+ {:mday => 9, :name => "Día de la Región de Murcia", :regions => [:es_mu]},
109
+ {:mday => 9, :name => "Día de La Rioja", :regions => [:es_lo]},
110
+ {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:ie]},
111
+ {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
112
+ {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
113
+ {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
114
+ {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
115
+ 1 => [{:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]},
116
+ {:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
117
+ {:mday => 1, :name => "Neujahrstag", :regions => [:de]},
118
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]},
119
+ {:mday => 1, :name => "Año Nuevo", :regions => [:es]},
120
+ {:mday => 6, :name => "Día de Reyes", :regions => [:es]},
121
+ {:mday => 1, :name => "Jour de l'an", :regions => [:fr]},
122
+ {:mday => 1, :name => "New Year's Day", :regions => [:gb, :ie]},
123
+ {:mday => 2, :name => "New Year's", :regions => [:gb_sct]},
124
+ {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
125
+ {:mday => 6, :name => "Þrettándinn", :regions => [:is]},
126
+ {:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]},
127
+ {:mday => 1, :name => "Capodanno", :regions => [:it]},
128
+ {:mday => 6, :name => "Epifania", :regions => [:it]},
129
+ {:mday => 1, :name => "Nieuwjaar", :regions => [:nl]},
130
+ {:mday => 1, :name => "Nyttårsdag", :regions => [:no]},
131
+ {:mday => 1, :name => "Ano Novo", :regions => [:pt]}],
132
+ 12 => [{:mday => 24, :name => "Štědrý den", :regions => [:cz]},
133
+ {:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]},
134
+ {:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]},
135
+ {:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
136
+ {:mday => 24, :name => "Juleaftensdag", :regions => [:dk]},
137
+ {:mday => 25, :name => "1. juledag", :regions => [:dk, :no]},
138
+ {:mday => 26, :name => "2. juledag", :regions => [:dk, :no]},
139
+ {:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
140
+ {:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]},
141
+ {:mday => 6, :name => "Día de la Constitución", :regions => [:es]},
142
+ {:mday => 8, :name => "Inmaculada Concepción", :regions => [:es]},
143
+ {:mday => 25, :name => "Navidad del Señor", :regions => [:es]},
144
+ {:mday => 26, :name => "San Esteban", :regions => [:es_ib, :es_ct]},
145
+ {:mday => 25, :name => "Nöel", :regions => [:fr]},
146
+ {:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "Christmas Day", :regions => [:gb]},
147
+ {:mday => 26, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Boxing Day", :regions => [:gb]},
148
+ {:mday => 25, :name => "Christmas Day", :regions => [:ie]},
149
+ {:mday => 26, :name => "St. Stephen's Day", :regions => [:ie]},
150
+ {:mday => 24, :name => "Jól", :regions => [:is]},
151
+ {:mday => 25, :name => "Jól", :regions => [:is]},
152
+ {:mday => 26, :name => "Jól", :regions => [:is]},
153
+ {:mday => 31, :name => "Gamlárskvöld", :regions => [:is]},
154
+ {:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
155
+ {:mday => 25, :name => "Natale", :regions => [:it]},
156
+ {:mday => 26, :name => "Santo Stefano", :regions => [:it]},
157
+ {:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
158
+ {:mday => 25, :name => "Kerstmis", :regions => [:nl]},
159
+ {:mday => 26, :name => "Kerstmis", :regions => [:nl]},
160
+ {:mday => 24, :type => :informal, :name => "Julaften", :regions => [:no]},
161
+ {:mday => 31, :type => :informal, :name => "Nyttårsaften", :regions => [:no]},
162
+ {:mday => 1, :name => "Restauração da Independência", :regions => [:pt]},
163
+ {:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
164
+ {:mday => 25, :name => "Natal", :regions => [:pt]}],
165
+ 7 => [{:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
166
+ {:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]},
167
+ {:mday => 23, :name => "Santiago Apostol", :regions => [:es_ga]},
168
+ {:mday => 14, :name => "Fête nationale", :regions => [:fr]},
169
+ {:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
170
+ {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]}],
171
+ 2 => [{:mday => 28, :name => "Día de Andalucía", :regions => [:es_an]},
172
+ {:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}],
173
+ 8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]},
174
+ {:mday => 15, :name => "Asunción", :regions => [:es]},
175
+ {:mday => 15, :name => "Assomption", :regions => [:fr]},
176
+ {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct, :ie]},
177
+ {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir]},
178
+ {:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]},
179
+ {:mday => 15, :name => "Assunzione", :regions => [:it]},
180
+ {:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]}],
181
+ 3 => [{:mday => 1, :name => "Día de las Islas Baleares", :regions => [:es_ib]},
182
+ {:mday => 19, :name => "San José", :regions => [:es_v, :es_vc, :es_cm, :es_mu, :es_m]},
183
+ {:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
184
+ {:mday => 17, :name => "St. Patrick's Day", :regions => [:gb_nir, :ie]}],
185
+ 9 => [{:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
186
+ {:mday => 2, :name => "Día de Ceuta", :regions => [:es_ce]},
187
+ {:mday => 8, :name => "Día de Asturias", :regions => [:es_o]},
188
+ {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
189
+ {:mday => 11, :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]}],
190
+ 4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
191
+ {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
192
+ {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
193
+ {:mday => 23, :name => "San Jorge", :regions => [:es_ar, :es_cl]},
194
+ {:mday => 23, :name => "Día de Aragón", :regions => [:es_ar]},
195
+ {:function => lambda { |year| Holidays.is_sumardagurinn_fyrsti(year) }, :function_id => "is_sumardagurinn_fyrsti(year)", :name => "Sumardagurinn fyrsti", :regions => [:is]},
196
+ {:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
197
+ {:mday => 30, :name => "Koninginnedag", :regions => [:nl]},
198
+ {:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
199
+ 10 => [{:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]},
200
+ {:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]},
201
+ {:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
202
+ {:mday => 9, :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
203
+ {:mday => 12, :name => "Día de la Hispanidad", :regions => [:es]},
204
+ {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:ie]},
205
+ {:mday => 5, :name => "Implantação da República", :regions => [:pt]}]
206
+ }
207
+ end
208
+
209
+ # Iceland: first day of summer (Thursday after 18 April)
210
+ def self.is_sumardagurinn_fyrsti(year)
211
+ date = Date.civil(year,4,18)
212
+ if date.wday < 4
213
+ date += (4 - date.wday)
214
+ else date
215
+ date += (11 - date.wday)
216
+ end
217
+ date
218
+ end
219
+
220
+
221
+ # Germany: Wednesday before November 23
222
+ def self.de_buss_und_bettag(year)
223
+ date = Date.civil(year,11,23)
224
+ if date.wday > 3
225
+ date -= (date.wday - 3)
226
+ else
227
+ date -= (date.wday + 4)
228
+ end
229
+ date
230
+ end
231
+
232
+
233
+
234
+ end
235
+
236
+ Holidays.merge_defs(Holidays::Europe::DEFINED_REGIONS, Holidays::Europe::HOLIDAYS_BY_MONTH)