holidays 1.0.5 → 1.0.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 (80) hide show
  1. data/.travis.yml +8 -1
  2. data/{CHANGELOG → CHANGELOG.rdoc} +29 -3
  3. data/LICENSE +2 -2
  4. data/README.rdoc +41 -28
  5. data/data/ar.yaml +82 -0
  6. data/data/au.yaml +40 -4
  7. data/data/be.yaml +65 -0
  8. data/data/br.yaml +12 -12
  9. data/data/ca.yaml +30 -17
  10. data/data/ch.yaml +187 -0
  11. data/data/federal_reserve.yaml +151 -0
  12. data/data/fi.yaml +19 -0
  13. data/data/fr.yaml +5 -5
  14. data/data/gb.yaml +19 -14
  15. data/data/hr.yaml +77 -0
  16. data/data/ie.yaml +36 -8
  17. data/data/index.yaml +12 -2
  18. data/data/ma.yaml +52 -0
  19. data/data/nerc.yaml +51 -0
  20. data/data/north_america_informal.yaml +13 -1
  21. data/data/pt.yaml +14 -13
  22. data/data/ro.yaml +76 -0
  23. data/data/sk.yaml +74 -0
  24. data/data/us.yaml +5 -1
  25. data/data/ve.yaml +70 -0
  26. data/holidays.gemspec +41 -9
  27. data/lib/holidays.rb +57 -34
  28. data/lib/holidays/MANIFEST +35 -24
  29. data/lib/holidays/ar.rb +42 -0
  30. data/lib/holidays/at.rb +3 -3
  31. data/lib/holidays/au.rb +28 -4
  32. data/lib/holidays/be.rb +40 -0
  33. data/lib/holidays/br.rb +1 -1
  34. data/lib/holidays/ca.rb +7 -3
  35. data/lib/holidays/ch.rb +92 -0
  36. data/lib/holidays/europe.rb +173 -53
  37. data/lib/holidays/federal_reserve.rb +50 -0
  38. data/lib/holidays/fi.rb +14 -1
  39. data/lib/holidays/fr.rb +1 -1
  40. data/lib/holidays/gb.rb +1 -1
  41. data/lib/holidays/hr.rb +42 -0
  42. data/lib/holidays/hu.rb +38 -0
  43. data/lib/holidays/ie.rb +16 -7
  44. data/lib/holidays/ma.rb +37 -0
  45. data/lib/holidays/mx.rb +3 -1
  46. data/lib/holidays/nerc.rb +34 -0
  47. data/lib/holidays/north_america.rb +9 -4
  48. data/lib/holidays/pt.rb +1 -1
  49. data/lib/holidays/ro.rb +40 -0
  50. data/lib/holidays/scandinavia.rb +13 -0
  51. data/lib/holidays/sk.rb +42 -0
  52. data/lib/holidays/us.rb +6 -3
  53. data/lib/holidays/ve.rb +40 -0
  54. data/rakefile.rb +1 -1
  55. data/test/defs/test_defs_ar.rb +27 -0
  56. data/test/defs/test_defs_au.rb +10 -0
  57. data/test/defs/test_defs_be.rb +25 -0
  58. data/test/defs/test_defs_br.rb +5 -5
  59. data/test/defs/test_defs_ca.rb +22 -2
  60. data/test/defs/test_defs_ch.rb +39 -0
  61. data/test/defs/test_defs_europe.rb +160 -10
  62. data/test/defs/test_defs_federal_reserve.rb +84 -0
  63. data/test/defs/test_defs_fi.rb +5 -0
  64. data/test/defs/test_defs_fr.rb +1 -1
  65. data/test/defs/test_defs_gb.rb +7 -2
  66. data/test/defs/test_defs_hr.rb +31 -0
  67. data/test/defs/test_defs_hu.rb +29 -0
  68. data/test/defs/test_defs_ie.rb +18 -3
  69. data/test/defs/test_defs_ma.rb +22 -0
  70. data/test/defs/test_defs_mx.rb +13 -0
  71. data/test/defs/test_defs_nerc.rb +23 -0
  72. data/test/defs/test_defs_north_america.rb +23 -2
  73. data/test/defs/test_defs_pt.rb +4 -3
  74. data/test/defs/test_defs_ro.rb +37 -0
  75. data/test/defs/test_defs_scandinavia.rb +5 -0
  76. data/test/defs/test_defs_sk.rb +28 -0
  77. data/test/defs/test_defs_us.rb +14 -0
  78. data/test/defs/test_defs_ve.rb +28 -0
  79. data/test/test_all_regions.rb +10 -0
  80. metadata +40 -6
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/be.yaml
6
+ #
7
+ # To use the definitions in this file, load it right after you load the
8
+ # Holiday gem:
9
+ #
10
+ # require 'holidays'
11
+ # require 'holidays/be'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module BE # :nodoc:
15
+ def self.defined_regions
16
+ [:be]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Easter", :regions => [:be]},
22
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:be]},
23
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Ascension", :regions => [:be]},
24
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pentecost", :regions => [:be]},
25
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pentecost Monday", :regions => [:be]}],
26
+ 1 => [{:mday => 1, :name => "New Year's Day", :regions => [:be]}],
27
+ 5 => [{:mday => 1, :name => "Labour Day", :regions => [:be]}],
28
+ 7 => [{:mday => 21, :name => "National holiday", :regions => [:be]}],
29
+ 8 => [{:mday => 15, :name => "Assumption of Mary", :regions => [:be]}],
30
+ 11 => [{:mday => 1, :name => "All Saints", :regions => [:be]},
31
+ {:mday => 11, :name => "Armistice Day", :regions => [:be]}],
32
+ 12 => [{:mday => 25, :name => "Christmas", :regions => [:be]}]
33
+ }
34
+ end
35
+ end
36
+
37
+
38
+ end
39
+
40
+ Holidays.merge_defs(Holidays::BE.defined_regions, Holidays::BE.holidays_by_month)
@@ -21,7 +21,7 @@ module Holidays
21
21
  0 => [{:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:br]},
22
22
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:br]},
23
23
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:br]},
24
- {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpus Christ", :regions => [:br]}],
24
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpus Christi", :regions => [:br]}],
25
25
  1 => [{:mday => 1, :name => "Dia da Confraternização Universal", :regions => [:br]}],
26
26
  4 => [{:mday => 21, :name => "Dia de Tiradentes", :regions => [:br]}],
27
27
  5 => [{:mday => 1, :name => "Dia do Trabalho", :regions => [:br]}],
@@ -13,27 +13,31 @@ module Holidays
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]
16
+ [:ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_ns, :ca_yk, :us]
17
17
  end
18
18
 
19
19
  def self.holidays_by_month
20
20
  {
21
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) }, :function_id => "easter(year)", :name => "Easter Sunday", :regions => [:ca]},
22
23
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :type => :informal, :name => "Easter Monday", :regions => [:ca]}],
23
24
  1 => [{:mday => 1, :name => "New Year's Day", :regions => [:ca]},
24
25
  {:mday => 2, :name => "New Year's", :regions => [:ca_qc]}],
25
26
  2 => [{:wday => 1, :week => 3, :name => "Family Day", :regions => [:ca_ab, :ca_on, :ca_sk]},
26
27
  {:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
28
+ {:wday => 1, :week => 2, :name => "BC Family Day", :regions => [:ca_bc]},
27
29
  {:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
28
30
  {:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
29
31
  3 => [{:mday => 23, :name => "St. George's Day", :regions => [:ca_nf]},
30
32
  {:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:us, :ca]}],
31
33
  5 => [{:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "Victoria Day", :regions => [:ca]},
32
34
  {:function => lambda { |year| Holidays.ca_victoria_day(year) }, :function_id => "ca_victoria_day(year)", :name => "National Patriotes Day", :regions => [:ca_qc]},
33
- {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
35
+ {:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
36
+ {:wday => 6, :week => 3, :type => :informal, :name => "Armed Forces Day", :regions => [:us]}],
34
37
  6 => [{:mday => 24, :name => "Discovery Day", :regions => [:ca_nf]},
35
38
  {:mday => 24, :name => "Fête Nationale", :regions => [:ca_qc]},
36
- {:mday => 21, :name => "National Aboriginal Day", :regions => [:ca_nt]}],
39
+ {:mday => 21, :name => "National Aboriginal Day", :regions => [:ca_nt]},
40
+ {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
37
41
  7 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Canada Day", :regions => [:ca]},
38
42
  {:mday => 12, :name => "Orangemen's Day", :regions => [:ca_nf]},
39
43
  {:mday => 9, :name => "Nunavut Day", :regions => [:ca_nu]}],
@@ -0,0 +1,92 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/ch.yaml
6
+ #
7
+ # To use the definitions in this file, load it right after you load the
8
+ # Holiday gem:
9
+ #
10
+ # require 'holidays'
11
+ # require 'holidays/ch'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module CH # :nodoc:
15
+ def self.defined_regions
16
+ [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :ch_vs, :ch]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju]},
22
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
23
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Auffahrt", :regions => [:ch]},
24
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju]},
25
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ne, :ch_ju]},
26
+ {:function => lambda { |year| Holidays.ch_vd_lundi_du_jeune_federal(year) }, :function_id => "ch_vd_lundi_du_jeune_federal(year)", :name => "Lundi du Jeûne fédéral", :regions => [:ch_vd]},
27
+ {:function => lambda { |year| Holidays.ch_ge_jeune_genevois(year) }, :function_id => "ch_ge_jeune_genevois(year)", :name => "Jeûne genevois", :regions => [:ch_ge]}],
28
+ 1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ge, :ch_ju, :ch_ti]},
29
+ {:mday => 2, :name => "Berchtoldstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_sh, :ch_sg, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ju]},
30
+ {:mday => 6, :name => "Dreikönigstag", :regions => [:ch_ur, :ch_sz, :ch_ti]}],
31
+ 3 => [{:mday => 1, :name => "Instauration de la République", :regions => [:ch_ne]},
32
+ {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]}],
33
+ 4 => [{:function => lambda { |year| Holidays.ch_gl_naefelser_fahrt(year) }, :function_id => "ch_gl_naefelser_fahrt(year)", :name => "Näfelser Fahrt", :regions => [:ch_gl]}],
34
+ 5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:ch_zh, :ch_bs, :ch_bl, :ch_sh, :ch_ag, :ch_tg, :ch_ti, :ch_ne, :ch_ju]}],
35
+ 6 => [{:mday => 23, :name => "Commémoration du plébiscite jurassien", :regions => [:ch_ju]},
36
+ {:mday => 29, :name => "San Pietro e Paolo", :regions => [:ch_ti]}],
37
+ 8 => [{:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
38
+ {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ju]}],
39
+ 9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
40
+ {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]}],
41
+ 11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_sg, :ch_ag, :ch_ti, :ch_vs, :ch_ju]}],
42
+ 12 => [{:mday => 8, :name => "Maria Empfängnis", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_ai, :ch_ag, :ch_ti, :ch_vs]},
43
+ {:mday => 25, :name => "Weihnachten", :regions => [:ch]},
44
+ {:mday => 26, :name => "Stefanstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vs, :ch_ne]},
45
+ {:mday => 31, :name => "Restauration de la République", :regions => [:ch_ge]}]
46
+ }
47
+ end
48
+ end
49
+
50
+ # Monday after the third Sunday of September
51
+ def self.ch_vd_lundi_du_jeune_federal(year)
52
+ date = Date.civil(year,9,1)
53
+ # Find the first Sunday of September
54
+ until date.wday.eql? 0 do
55
+ date += 1
56
+ end
57
+ # There are 15 days between the first Sunday
58
+ # and the Monday after the third Sunday
59
+ date + 15
60
+ end
61
+
62
+
63
+ # Thursday after the first Sunday of September
64
+ def self.ch_ge_jeune_genevois(year)
65
+ date = Date.civil(year,9,1)
66
+ # Find the first Sunday of September
67
+ until date.wday.eql? 0 do
68
+ date += 1
69
+ end
70
+ # Thursday is four days after Sunday
71
+ date + 4
72
+ end
73
+
74
+
75
+ # First Thursday of April. If the first Thursday of April is in the week before easter, then a week later.
76
+ def self.ch_gl_naefelser_fahrt(year)
77
+ date = Date.civil(year,4,1)
78
+ # Find the first Thursday of April
79
+ until date.wday.eql? 4 do
80
+ date += 1
81
+ end
82
+ if date.eql?(easter(year)-3)
83
+ date += 7
84
+ end
85
+ date
86
+ end
87
+
88
+
89
+
90
+ end
91
+
92
+ Holidays.merge_defs(Holidays::CH.defined_regions, Holidays::CH.holidays_by_month)
@@ -2,7 +2,7 @@
2
2
  module Holidays
3
3
  # This file is generated by the Ruby Holidays gem.
4
4
  #
5
- # Definitions loaded: data/at.yaml, data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/li.yaml, data/nl.yaml, data/no.yaml, data/pl.yaml, data/pt.yaml
5
+ # Definitions loaded: data/at.yaml, data/be.yaml, data/ch.yaml, data/cz.yaml, data/dk.yaml, data/de.yaml, data/el.yaml, data/es.yaml, data/fr.yaml, data/gb.yaml, data/hr.yaml, data/hu.yaml, data/ie.yaml, data/is.yaml, data/it.yaml, data/li.yaml, data/nl.yaml, data/no.yaml, data/pl.yaml, data/pt.yaml, data/ro.yaml, data/sk.yaml
6
6
  #
7
7
  # To use the definitions in this file, load it right after you load the
8
8
  # Holiday gem:
@@ -13,15 +13,24 @@ module Holidays
13
13
  # All the definitions are available at https://github.com/alexdunae/holidays
14
14
  module Europe # :nodoc:
15
15
  def self.defined_regions
16
- [:at, :de, :li, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :cz, :dk, :no, :de_st, :de_bb, :de_mv, :de_sn, :de_th, :el, :es_pv, :es_ct, :es_na, :es_v, :es_vc, :es, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :ie, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :is, :it, :nl, :pl, :pt]
16
+ [:at, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju, :de, :li, :ch_ne, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_st, :be, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :ie, :fr, :ch, :cz, :dk, :no, :de_bb, :de_mv, :de_sn, :de_th, :el, :es_pv, :es_ct, :es_na, :es_v, :es_vc, :es, :es_an, :es_ib, :es_cm, :es_mu, :es_m, :es_ar, :es_cl, :es_cn, :es_lo, :es_ga, :es_ce, :es_o, :es_ex, :gb, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :is, :it, :nl, :pl, :pt, :ro, :sk]
17
17
  end
18
18
 
19
19
  def self.holidays_by_month
20
20
  {
21
- 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:at, :de, :li]},
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Ostermontag", :regions => [:at, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju, :de, :li]},
22
22
  {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Christi Himmelfahrt", :regions => [:at, :de]},
23
- {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:at, :de, :li]},
24
- {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:at, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :li]},
23
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pfingstmontag", :regions => [:at, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_vs, :ch_ge, :ch_ju, :de, :li]},
24
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Fronleichnam", :regions => [:at, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ne, :ch_ju, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :li]},
25
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Easter", :regions => [:be]},
26
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:be, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :ie]},
27
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Ascension", :regions => [:be, :fr]},
28
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pentecost", :regions => [:be]},
29
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pentecost Monday", :regions => [:be]},
30
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :de, :li]},
31
+ {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Auffahrt", :regions => [:ch, :li]},
32
+ {:function => lambda { |year| Holidays.ch_vd_lundi_du_jeune_federal(year) }, :function_id => "ch_vd_lundi_du_jeune_federal(year)", :name => "Lundi du Jeûne fédéral", :regions => [:ch_vd]},
33
+ {:function => lambda { |year| Holidays.ch_ge_jeune_genevois(year) }, :function_id => "ch_ge_jeune_genevois(year)", :name => "Jeûne genevois", :regions => [:ch_ge]},
25
34
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]},
26
35
  {:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]},
27
36
  {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk, :no]},
@@ -33,7 +42,6 @@ module Holidays
33
42
  {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Kristi Himmelfartsdag", :regions => [:dk, :no]},
34
43
  {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pinsedag", :regions => [:dk]},
35
44
  {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "2. Pinsedag", :regions => [:dk]},
36
- {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Karfreitag", :regions => [:de, :li]},
37
45
  {:function => lambda { |year| Holidays.orthodox_easter(year)-2 }, :function_id => "orthodox_easter(year)-2", :name => "Μεγάλη Παρασκευή", :regions => [:el]},
38
46
  {:function => lambda { |year| Holidays.orthodox_easter(year)-1 }, :function_id => "orthodox_easter(year)-1", :name => "Μεγάλο Σάββατο", :regions => [:el]},
39
47
  {:function => lambda { |year| Holidays.orthodox_easter(year) }, :function_id => "orthodox_easter(year)", :name => "Κυριακή του Πάσχα", :regions => [:el]},
@@ -45,12 +53,15 @@ module Holidays
45
53
  {: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]},
46
54
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pâques", :regions => [:fr]},
47
55
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lundi de Pâques", :regions => [:fr]},
48
- {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Ascension", :regions => [:fr]},
49
56
  {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pentecôte", :regions => [:fr]},
50
57
  {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Lundi de Pentecôte", :regions => [:fr]},
51
58
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:gb]},
52
59
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Easter Sunday", :regions => [:gb]},
53
- {: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]},
60
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Uskrs", :regions => [:hr]},
61
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Uskrsni ponedjeljak", :regions => [:hr]},
62
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Tijelovo", :regions => [:hr]},
63
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Húsvét hétfő", :regions => [:hu]},
64
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pünkösd hétfő", :regions => [:hu]},
54
65
  {:function => lambda { |year| Holidays.easter(year)-48 }, :function_id => "easter(year)-48", :name => "Bolludagur", :regions => [:is]},
55
66
  {:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :name => "Sprengidagur", :regions => [:is]},
56
67
  {:function => lambda { |year| Holidays.easter(year)-46 }, :function_id => "easter(year)-46", :name => "Öskudagur", :regions => [:is]},
@@ -66,7 +77,6 @@ module Holidays
66
77
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Lunedì dell'Angelo", :regions => [:it]},
67
78
  {:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :name => "Fasnachtsdienstag", :regions => [:li]},
68
79
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :type => :informal, :name => "Ostern", :regions => [:li]},
69
- {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Auffahrt", :regions => [:li]},
70
80
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Goede Vrijdag", :regions => [:nl]},
71
81
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Pasen", :regions => [:nl]},
72
82
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Pasen", :regions => [:nl]},
@@ -90,19 +100,30 @@ module Holidays
90
100
  {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Uroczystość Najświętszego Ciała i Krwi Pańskiej (Boże Ciało)", :regions => [:pl]},
91
101
  {:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:pt]},
92
102
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:pt]},
93
- {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:pt]}],
94
- 1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at, :de, :li]},
95
- {:mday => 6, :name => "Heilige Drei Könige", :regions => [:at]},
103
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:pt]},
104
+ {:function => lambda { |year| Holidays.orthodox_easter(year) }, :function_id => "orthodox_easter(year)", :name => "Paștele", :regions => [:ro]},
105
+ {:function => lambda { |year| Holidays.orthodox_easter(year)+1 }, :function_id => "orthodox_easter(year)+1", :name => "Paștele", :regions => [:ro]},
106
+ {:function => lambda { |year| Holidays.orthodox_easter(year) + 49 }, :function_id => "orthodox_easter(year) + 49", :name => "Rusaliile", :regions => [:ro]},
107
+ {:function => lambda { |year| Holidays.orthodox_easter(year) + 50 }, :function_id => "orthodox_easter(year) + 50", :name => "Rusaliile", :regions => [:ro]},
108
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Veľkonočný pondelok", :regions => [:sk]},
109
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Veľký piatok", :regions => [:sk]}],
110
+ 1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:at, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ge, :ch_ju, :ch_ti, :de, :li]},
111
+ {:mday => 6, :name => "Heilige Drei Könige", :regions => [:at, :de_bw, :de_by, :de_st, :li, :li]},
112
+ {:mday => 1, :name => "New Year's Day", :regions => [:be]},
113
+ {:mday => 2, :name => "Berchtoldstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_sh, :ch_sg, :ch_ag, :ch_tg, :ch_vd, :ch_vs, :ch_ne, :ch_ju]},
114
+ {:mday => 6, :name => "Dreikönigstag", :regions => [:ch_ur, :ch_sz, :ch_ti]},
96
115
  {:mday => 1, :name => "Den obnovy samostatného českého státu", :regions => [:cz]},
97
116
  {:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
98
- {:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st, :li, :li]},
99
117
  {:mday => 1, :name => "Πρωτοχρονιά", :regions => [:el]},
100
118
  {:mday => 6, :name => "Θεοφάνεια", :regions => [:el]},
101
119
  {:mday => 1, :name => "Año Nuevo", :regions => [:es]},
102
120
  {:mday => 6, :name => "Día de Reyes", :regions => [:es]},
103
121
  {:mday => 1, :name => "Jour de l'an", :regions => [:fr]},
104
- {:mday => 1, :name => "New Year's Day", :regions => [:gb, :ie]},
122
+ {:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "New Year's Day", :regions => [:gb, :ie]},
105
123
  {:mday => 2, :name => "New Year's", :regions => [:gb_sct]},
124
+ {:mday => 1, :name => "Nova godina", :regions => [:hr]},
125
+ {:mday => 6, :name => "Sveta tri kralja", :regions => [:hr]},
126
+ {:mday => 1, :name => "Újév", :regions => [:hu]},
106
127
  {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
107
128
  {:mday => 6, :name => "Þrettándinn", :regions => [:is]},
108
129
  {:mday => 19, :type => :informal, :name => "Bóndadagur", :regions => [:is]},
@@ -115,13 +136,17 @@ module Holidays
115
136
  {:function => lambda { |year| Holidays.pl_trzech_kroli_informal(year) }, :function_id => "pl_trzech_kroli_informal(year)", :type => :informal, :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
116
137
  {:mday => 21, :type => :informal, :name => "Dzień Babci", :regions => [:pl]},
117
138
  {:mday => 22, :type => :informal, :name => "Dzień Dziadka", :regions => [:pl]},
118
- {:mday => 1, :name => "Ano Novo", :regions => [:pt]}],
139
+ {:mday => 1, :name => "Ano Novo", :regions => [:pt]},
140
+ {:mday => 1, :name => "Anul nou", :regions => [:ro]},
141
+ {:mday => 2, :name => "Anul nou", :regions => [:ro]},
142
+ {:mday => 1, :name => "Nový rok", :regions => [:sk]}],
119
143
  5 => [{:mday => 1, :name => "Staatsfeiertag", :regions => [:at]},
144
+ {:mday => 1, :name => "Labour Day", :regions => [:be]},
145
+ {:mday => 1, :name => "Tag der Arbeit", :regions => [:ch_zh, :ch_bs, :ch_bl, :ch_sh, :ch_ag, :ch_tg, :ch_ti, :ch_ne, :ch_ju, :de, :li]},
120
146
  {:mday => 1, :name => "Svátek práce", :regions => [:cz]},
121
147
  {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
122
148
  {:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
123
149
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
124
- {:mday => 1, :name => "Tag der Arbeit", :regions => [:de, :li]},
125
150
  {:mday => 1, :name => "Πρωτομαγιά", :regions => [:el]},
126
151
  {:mday => 1, :name => "Día del Trabajador", :regions => [:es]},
127
152
  {:mday => 2, :name => "Fiesta de la Comunidad", :regions => [:es_m]},
@@ -132,6 +157,8 @@ module Holidays
132
157
  {:wday => 1, :week => 1, :name => "May Day", :regions => [:gb, :ie]},
133
158
  {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
134
159
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]},
160
+ {:mday => 1, :name => "Međunarodni praznik rada", :regions => [:hr]},
161
+ {:mday => 1, :name => "A munka ünnepe", :regions => [:hu]},
135
162
  {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
136
163
  {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
137
164
  {:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
@@ -142,19 +169,30 @@ module Holidays
142
169
  {:mday => 1, :name => "Święto Państwowe (Święto Pracy)", :regions => [:pl]},
143
170
  {:mday => 2, :type => :informal, :name => "Dzień Flagi Rzeczpospolitej Polskiej", :regions => [:pl]},
144
171
  {:mday => 3, :name => "Święto Narodowe Trzeciego Maja", :regions => [:pl]},
145
- {:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
146
- 8 => [{:mday => 15, :name => "Mari√§ Himmelfahrt", :regions => [:at]},
147
- {:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]},
172
+ {:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]},
173
+ {:mday => 1, :name => "Ziua muncii", :regions => [:ro]},
174
+ {:mday => 1, :name => "Sviatok práce", :regions => [:sk]},
175
+ {:mday => 8, :name => "Deň víťazstva", :regions => [:sk]}],
176
+ 8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:at, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ju, :de_by, :de_sl]},
177
+ {:mday => 15, :name => "Assumption of Mary", :regions => [:be]},
178
+ {:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
148
179
  {:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:el]},
149
180
  {:mday => 15, :name => "Asunción", :regions => [:es]},
150
181
  {:mday => 15, :name => "Assomption", :regions => [:fr]},
151
- {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct, :ie]},
182
+ {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
152
183
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir]},
184
+ {:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i dan hrvatskih branitelja", :regions => [:hr]},
185
+ {:mday => 15, :name => "Velika Gospa", :regions => [:hr]},
186
+ {:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]},
187
+ {:wday => 1, :week => 1, :name => "August Bank Holiday", :regions => [:ie]},
153
188
  {:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]},
154
189
  {:mday => 15, :name => "Assunzione", :regions => [:it]},
155
190
  {:mday => 15, :name => "Staatsfeiertag", :regions => [:li]},
156
191
  {:mday => 15, :name => "Wniebowzięcie Najświętszej Maryi Panny", :regions => [:pl]},
157
- {:mday => 15, :name => "Święto Wojska Polskiego", :regions => [:pl]}],
192
+ {:mday => 15, :name => "Święto Wojska Polskiego", :regions => [:pl]},
193
+ {:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]},
194
+ {:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]},
195
+ {:mday => 29, :name => "Výročie Slovenského národného povstania", :regions => [:sk]}],
158
196
  10 => [{:mday => 26, :name => "Nationalfeiertag", :regions => [:at]},
159
197
  {:mday => 28, :name => "Den vzniku samostatného československého státu", :regions => [:cz]},
160
198
  {:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]},
@@ -162,9 +200,13 @@ module Holidays
162
200
  {:mday => 28, :name => "Επέτειος του Όχι", :regions => [:el]},
163
201
  {:mday => 9, :name => "Día de Valencia", :regions => [:es_vc, :es_v]},
164
202
  {:mday => 12, :name => "Día de la Hispanidad", :regions => [:es]},
165
- {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:ie]},
203
+ {:mday => 8, :name => "Dan neovisnosti", :regions => [:hr]},
204
+ {:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]},
205
+ {:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]},
166
206
  {:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]}],
167
- 11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at, :de_bw, :de_by, :de_nw, :de_rp, :de_sl, :li]},
207
+ 11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:at, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_sg, :ch_ag, :ch_ti, :ch_vs, :ch_ju, :de_bw, :de_by, :de_nw, :de_rp, :de_sl, :li]},
208
+ {:mday => 1, :name => "All Saints", :regions => [:be]},
209
+ {:mday => 11, :name => "Armistice Day", :regions => [:be]},
168
210
  {:mday => 17, :name => "Den boje za svobodu a demokracii", :regions => [:cz]},
169
211
  {:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
170
212
  {:function => lambda { |year| Holidays.de_buss_und_bettag(year) }, :function_id => "de_buss_und_bettag(year)", :name => "Buß- und Bettag", :regions => [:de_sn]},
@@ -172,16 +214,25 @@ module Holidays
172
214
  {:mday => 1, :name => "Toussaint", :regions => [:fr]},
173
215
  {:mday => 11, :name => "Armistice 1918", :regions => [:fr]},
174
216
  {:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
217
+ {:mday => 1, :name => "Dan svih svetih", :regions => [:hr]},
218
+ {:mday => 1, :name => "Mindenszentek", :regions => [:hu]},
175
219
  {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]},
176
220
  {:mday => 1, :name => "Ognissanti", :regions => [:it]},
177
221
  {:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
178
222
  {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
179
223
  {:mday => 11, :name => "Narodowe Święto Niepodległości", :regions => [:pl]},
180
224
  {:mday => 29, :type => :informal, :name => "Andrzejki", :regions => [:pl]},
181
- {:mday => 1, :name => "Todos os Santos", :regions => [:pt]}],
182
- 12 => [{:mday => 8, :name => "Mari√§ Empf√§ngnis", :regions => [:at]},
225
+ {:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]},
226
+ {:mday => 1, :name => "Sviatok všetkých svätých", :regions => [:sk]},
227
+ {:mday => 17, :name => "Deň boja za slobodu a demokraciu", :regions => [:sk]}],
228
+ 12 => [{:mday => 8, :name => "Mariä Empfägnis", :regions => [:at]},
183
229
  {:mday => 25, :name => "1. Weihnachtstag", :regions => [:at, :de]},
184
230
  {:mday => 26, :name => "2. Weihnachtstag", :regions => [:at, :de]},
231
+ {:mday => 25, :name => "Christmas", :regions => [:be]},
232
+ {:mday => 8, :name => "Maria Empfängnis", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :li]},
233
+ {:mday => 25, :name => "Weihnachten", :regions => [:ch, :li]},
234
+ {:mday => 26, :name => "Stefanstag", :regions => [:ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vs, :ch_ne, :li]},
235
+ {:mday => 31, :name => "Restauration de la République", :regions => [:ch_ge]},
185
236
  {:mday => 24, :name => "Štědrý den", :regions => [:cz]},
186
237
  {:mday => 25, :name => "1. svátek vánoční", :regions => [:cz]},
187
238
  {:mday => 26, :name => "2. svátek vánoční", :regions => [:cz]},
@@ -195,11 +246,14 @@ module Holidays
195
246
  {:mday => 8, :name => "Inmaculada Concepción", :regions => [:es]},
196
247
  {:mday => 25, :name => "Navidad del Señor", :regions => [:es]},
197
248
  {:mday => 26, :name => "San Esteban", :regions => [:es_ib, :es_ct]},
198
- {:mday => 25, :name => "Nöel", :regions => [:fr]},
199
- {:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "Christmas Day", :regions => [:gb]},
249
+ {:mday => 25, :name => "Noël", :regions => [:fr]},
250
+ {:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "Christmas Day", :regions => [:gb, :ie]},
200
251
  {:mday => 26, :observed => lambda { |date| Holidays.to_weekday_if_boxing_weekend(date) }, :observed_id => "to_weekday_if_boxing_weekend", :name => "Boxing Day", :regions => [:gb]},
201
- {:mday => 25, :name => "Christmas Day", :regions => [:ie]},
202
- {:mday => 26, :name => "St. Stephen's Day", :regions => [:ie]},
252
+ {:mday => 25, :name => "Božić", :regions => [:hr]},
253
+ {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]},
254
+ {:mday => 25, :name => "Karácsony", :regions => [:hu]},
255
+ {:mday => 26, :name => "Karácsony", :regions => [:hu]},
256
+ {:mday => 26, :observed => lambda { |date| Holidays.ie_st_stephens_day(date) }, :observed_id => "ie_st_stephens_day", :name => "St. Stephen's Day", :regions => [:ie]},
203
257
  {:mday => 24, :name => "Jól", :regions => [:is]},
204
258
  {:mday => 25, :name => "Jól", :regions => [:is]},
205
259
  {:mday => 26, :name => "Jól", :regions => [:is]},
@@ -207,10 +261,7 @@ module Holidays
207
261
  {:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
208
262
  {:mday => 25, :name => "Natale", :regions => [:it]},
209
263
  {:mday => 26, :name => "Santo Stefano", :regions => [:it]},
210
- {:mday => 8, :name => "Maria Empfängnis", :regions => [:li]},
211
264
  {:mday => 24, :name => "Heilig Abend", :regions => [:li]},
212
- {:mday => 25, :name => "Weihnachten", :regions => [:li]},
213
- {:mday => 26, :name => "Stefanstag", :regions => [:li]},
214
265
  {:mday => 31, :name => "Silvester", :regions => [:li]},
215
266
  {:mday => 5, :type => :informal, :name => "Sinterklaas", :regions => [:nl]},
216
267
  {:mday => 25, :name => "Kerstmis", :regions => [:nl]},
@@ -224,21 +275,35 @@ module Holidays
224
275
  {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
225
276
  {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]},
226
277
  {:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
227
- {:mday => 25, :name => "Natal", :regions => [:pt]}],
228
- 7 => [{:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
278
+ {:mday => 25, :name => "Natal", :regions => [:pt]},
279
+ {:mday => 1, :name => "Ziua Națională", :regions => [:ro]},
280
+ {:mday => 25, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
281
+ {:mday => 26, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
282
+ {:mday => 24, :name => "Štedrý deň", :regions => [:sk]},
283
+ {:mday => 25, :name => "1. sviatok vianočný", :regions => [:sk]},
284
+ {:mday => 26, :name => "2. sviatek vianočný", :regions => [:sk]}],
285
+ 7 => [{:mday => 21, :name => "National holiday", :regions => [:be]},
286
+ {:mday => 5, :name => "Den slovanských věrozvěstů Cyrila a Metoděje", :regions => [:cz]},
229
287
  {:mday => 6, :name => "Den upálení mistra Jana Husa", :regions => [:cz]},
230
288
  {:mday => 23, :name => "Santiago Apostol", :regions => [:es_ga]},
231
289
  {:mday => 14, :name => "Fête nationale", :regions => [:fr]},
232
290
  {:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
233
- {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]}],
234
- 9 => [{:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
235
- {:mday => 2, :name => "Día de Ceuta", :regions => [:es_ce]},
236
- {:mday => 8, :name => "Día de Asturias", :regions => [:es_o]},
237
- {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
238
- {:mday => 11, :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]},
239
- {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
240
- {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]}],
241
- 4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
291
+ {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]},
292
+ {:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]}],
293
+ 3 => [{:mday => 1, :name => "Instauration de la République", :regions => [:ch_ne]},
294
+ {:mday => 19, :name => "Josephstag", :regions => [:ch_ur, :ch_sz, :ch_nw, :ch_ti, :ch_vs]},
295
+ {:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:el]},
296
+ {:mday => 1, :name => "Día de las Islas Baleares", :regions => [:es_ib]},
297
+ {:mday => 19, :name => "San José", :regions => [:es_v, :es_vc, :es_cm, :es_mu, :es_m]},
298
+ {:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
299
+ {:mday => 17, :name => "St. Patrick's Day", :regions => [:gb_nir]},
300
+ {:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]},
301
+ {:mday => 17, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "St. Patrick's Day", :regions => [:ie]},
302
+ {:mday => 19, :name => "St. Josef", :regions => [:li]},
303
+ {:mday => 8, :type => :informal, :name => "Dzień Kobiet", :regions => [:pl]},
304
+ {:mday => 10, :type => :informal, :name => "Dzień Mężczyzn", :regions => [:pl]}],
305
+ 4 => [{:function => lambda { |year| Holidays.ch_gl_naefelser_fahrt(year) }, :function_id => "ch_gl_naefelser_fahrt(year)", :name => "Näfelser Fahrt", :regions => [:ch_gl]},
306
+ {:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
242
307
  {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
243
308
  {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
244
309
  {:mday => 23, :name => "San Jorge", :regions => [:es_ar, :es_cl]},
@@ -249,25 +314,32 @@ module Holidays
249
314
  {:mday => 1, :type => :informal, :name => "Prima Aprilis", :regions => [:pl]},
250
315
  {:mday => 22, :type => :informal, :name => "Międzynarodowy Dzień Ziemi", :regions => [:pl]},
251
316
  {:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
252
- 6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
317
+ 6 => [{:mday => 23, :name => "Commémoration du plébiscite jurassien", :regions => [:ch_ju]},
318
+ {:mday => 29, :name => "San Pietro e Paolo", :regions => [:ch_ti]},
319
+ {:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
253
320
  {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
254
321
  {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
255
322
  {:mday => 9, :name => "Día de la Región de Murcia", :regions => [:es_mu]},
256
323
  {:mday => 9, :name => "Día de La Rioja", :regions => [:es_lo]},
257
- {:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:ie]},
324
+ {:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
325
+ {:mday => 25, :name => "Dan državnosti", :regions => [:hr]},
326
+ {:wday => 1, :week => 1, :name => "June Bank Holiday", :regions => [:ie]},
258
327
  {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
259
328
  {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
260
329
  {:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
261
330
  {:mday => 23, :type => :informal, :name => "Dzień Ojca", :regions => [:pl]},
262
331
  {:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
263
- 3 => [{:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:el]},
264
- {:mday => 1, :name => "Día de las Islas Baleares", :regions => [:es_ib]},
265
- {:mday => 19, :name => "San José", :regions => [:es_v, :es_vc, :es_cm, :es_mu, :es_m]},
266
- {:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
267
- {:mday => 17, :name => "St. Patrick's Day", :regions => [:gb_nir, :ie]},
268
- {:mday => 19, :name => "St. Josef", :regions => [:li]},
269
- {:mday => 8, :type => :informal, :name => "Dzień Kobiet", :regions => [:pl]},
270
- {:mday => 10, :type => :informal, :name => "Dzień Mężczyzn", :regions => [:pl]}],
332
+ 9 => [{:mday => 22, :name => "Mauritiustag", :regions => [:ch_ai]},
333
+ {:mday => 25, :name => "Bruderklausenfest", :regions => [:ch_ow]},
334
+ {:mday => 28, :name => "Den české státnosti", :regions => [:cz]},
335
+ {:mday => 2, :name => "Día de Ceuta", :regions => [:es_ce]},
336
+ {:mday => 8, :name => "Día de Asturias", :regions => [:es_o]},
337
+ {:mday => 8, :name => "Día de Extremadura", :regions => [:es_ex]},
338
+ {:mday => 11, :name => "Fiesta Nacional de Cataluña", :regions => [:es_ct]},
339
+ {:mday => 8, :name => "Maria Geburt", :regions => [:li]},
340
+ {:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]},
341
+ {:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
342
+ {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]}],
271
343
  2 => [{:mday => 28, :name => "Día de Andalucía", :regions => [:es_an]},
272
344
  {:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]},
273
345
  {:mday => 2, :name => "Maria Lichtmess", :regions => [:li]},
@@ -277,6 +349,45 @@ module Holidays
277
349
  end
278
350
  end
279
351
 
352
+ # Monday after the third Sunday of September
353
+ def self.ch_vd_lundi_du_jeune_federal(year)
354
+ date = Date.civil(year,9,1)
355
+ # Find the first Sunday of September
356
+ until date.wday.eql? 0 do
357
+ date += 1
358
+ end
359
+ # There are 15 days between the first Sunday
360
+ # and the Monday after the third Sunday
361
+ date + 15
362
+ end
363
+
364
+
365
+ # Thursday after the first Sunday of September
366
+ def self.ch_ge_jeune_genevois(year)
367
+ date = Date.civil(year,9,1)
368
+ # Find the first Sunday of September
369
+ until date.wday.eql? 0 do
370
+ date += 1
371
+ end
372
+ # Thursday is four days after Sunday
373
+ date + 4
374
+ end
375
+
376
+
377
+ # First Thursday of April. If the first Thursday of April is in the week before easter, then a week later.
378
+ def self.ch_gl_naefelser_fahrt(year)
379
+ date = Date.civil(year,4,1)
380
+ # Find the first Thursday of April
381
+ until date.wday.eql? 4 do
382
+ date += 1
383
+ end
384
+ if date.eql?(easter(year)-3)
385
+ date += 7
386
+ end
387
+ date
388
+ end
389
+
390
+
280
391
  # Germany: Wednesday before November 23
281
392
  def self.de_buss_und_bettag(year)
282
393
  date = Date.civil(year,11,23)
@@ -289,6 +400,15 @@ def self.de_buss_und_bettag(year)
289
400
  end
290
401
 
291
402
 
403
+ # Ireland - Stephens Day is always the day after christmas day
404
+ def self.ie_st_stephens_day(date)
405
+ date += 2 if date.wday == 6
406
+ date += 2 if date.wday == 0
407
+ date += 1 if date.wday == 1
408
+ date
409
+ end
410
+
411
+
292
412
  # Iceland: first day of summer (Thursday after 18 April)
293
413
  def self.is_sumardagurinn_fyrsti(year)
294
414
  date = Date.civil(year,4,18)