holidays 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
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,50 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/federal_reserve.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/federal_reserve'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module Federal_Reserve # :nodoc:
15
+ def self.defined_regions
16
+ [:federal_reserve]
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 => "Good Friday", :regions => [:federal_reserve]}],
22
+ 1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "New Year's Day", :regions => [:federal_reserve]},
23
+ {:wday => 1, :week => 3, :name => "Birthday of Martin Luther King, Jr", :regions => [:federal_reserve]},
24
+ {:function => lambda { |year| Holidays.us_inauguration_day(year) }, :function_id => "us_inauguration_day(year)", :name => "Inauguration Day", :regions => [:federal_reserve]}],
25
+ 2 => [{:wday => 1, :week => 3, :name => "Washington's Birthday", :regions => [:federal_reserve]}],
26
+ 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:federal_reserve]}],
27
+ 7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Independence Day", :regions => [:federal_reserve]}],
28
+ 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:federal_reserve]}],
29
+ 10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:federal_reserve]}],
30
+ 11 => [{:mday => 11, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Veterans Day", :regions => [:federal_reserve]},
31
+ {:wday => 4, :week => 4, :name => "Thanksgiving Day", :regions => [:federal_reserve]}],
32
+ 12 => [{:mday => 24, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Christmas Eve", :regions => [:federal_reserve]},
33
+ {:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Christmas Day", :regions => [:federal_reserve]},
34
+ {:mday => 31, :name => "New Year's Eve", :regions => [:federal_reserve]}]
35
+ }
36
+ end
37
+ end
38
+
39
+ # January 20, every fourth year, following Presidential election
40
+ def self.us_inauguration_day(year)
41
+ year % 4 == 1 ? 20 : nil
42
+ end
43
+
44
+
45
+
46
+
47
+
48
+ end
49
+
50
+ Holidays.merge_defs(Holidays::Federal_Reserve.defined_regions, Holidays::Federal_Reserve.holidays_by_month)
@@ -27,7 +27,8 @@ module Holidays
27
27
  1 => [{:mday => 1, :name => "Uudenvuodenpäivä", :regions => [:fi]},
28
28
  {:mday => 6, :name => "Loppiainen", :regions => [:fi]}],
29
29
  5 => [{:mday => 1, :name => "Vappu", :regions => [:fi]}],
30
- 6 => [{:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
30
+ 6 => [{:function => lambda { |year| Holidays.fi_juhannusaatto(year) }, :function_id => "fi_juhannusaatto(year)", :name => "Juhannusaatto", :regions => [:fi]},
31
+ {:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
31
32
  12 => [{:mday => 6, :name => "Itsenäisyyspäivä", :regions => [:fi]},
32
33
  {:mday => 24, :name => "Jouluaatto", :regions => [:fi]},
33
34
  {:mday => 25, :name => "Joulupäivä", :regions => [:fi]},
@@ -36,6 +37,18 @@ module Holidays
36
37
  end
37
38
  end
38
39
 
40
+ # Finland: Mid-summer eve (Friday between June 19–25)
41
+ def self.fi_juhannusaatto(year)
42
+ date = Date.civil(year,6,19)
43
+ if date.wday > 5 #if 19.6 is saturday
44
+ date += 6
45
+ else
46
+ date += (5 - date.wday)
47
+ end
48
+ date
49
+ end
50
+
51
+
39
52
  # Finland: Mid-summer (Saturday between June 20–26)
40
53
  def self.fi_juhannuspaiva(year)
41
54
  date = Date.civil(year,6,20)
@@ -30,7 +30,7 @@ module Holidays
30
30
  8 => [{:mday => 15, :name => "Assomption", :regions => [:fr]}],
31
31
  11 => [{:mday => 1, :name => "Toussaint", :regions => [:fr]},
32
32
  {:mday => 11, :name => "Armistice 1918", :regions => [:fr]}],
33
- 12 => [{:mday => 25, :name => "Nöel", :regions => [:fr]}]
33
+ 12 => [{:mday => 25, :name => "Noël", :regions => [:fr]}]
34
34
  }
35
35
  end
36
36
  end
@@ -21,7 +21,7 @@ module Holidays
21
21
  0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Good Friday", :regions => [:gb]},
22
22
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Easter Sunday", :regions => [:gb]},
23
23
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir]}],
24
- 1 => [{:mday => 1, :name => "New Year's Day", :regions => [:gb]},
24
+ 1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "New Year's Day", :regions => [:gb]},
25
25
  {:mday => 2, :name => "New Year's", :regions => [:gb_sct]}],
26
26
  3 => [{:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
27
27
  {:mday => 17, :name => "St. Patrick's Day", :regions => [:gb_nir]}],
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/hr.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/hr'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module HR # :nodoc:
15
+ def self.defined_regions
16
+ [:hr]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Uskrs", :regions => [:hr]},
22
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Uskrsni ponedjeljak", :regions => [:hr]},
23
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Tijelovo", :regions => [:hr]}],
24
+ 1 => [{:mday => 1, :name => "Nova godina", :regions => [:hr]},
25
+ {:mday => 6, :name => "Sveta tri kralja", :regions => [:hr]}],
26
+ 5 => [{:mday => 1, :name => "Međunarodni praznik rada", :regions => [:hr]}],
27
+ 6 => [{:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
28
+ {:mday => 25, :name => "Dan državnosti", :regions => [:hr]}],
29
+ 8 => [{:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i dan hrvatskih branitelja", :regions => [:hr]},
30
+ {:mday => 15, :name => "Velika Gospa", :regions => [:hr]}],
31
+ 10 => [{:mday => 8, :name => "Dan neovisnosti", :regions => [:hr]}],
32
+ 11 => [{:mday => 1, :name => "Dan svih svetih", :regions => [:hr]}],
33
+ 12 => [{:mday => 25, :name => "Božić", :regions => [:hr]},
34
+ {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]}]
35
+ }
36
+ end
37
+ end
38
+
39
+
40
+ end
41
+
42
+ Holidays.merge_defs(Holidays::HR.defined_regions, Holidays::HR.holidays_by_month)
@@ -0,0 +1,38 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/hu.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/hu'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module HU # :nodoc:
15
+ def self.defined_regions
16
+ [:hu]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Húsvét hétfő", :regions => [:hu]},
22
+ {:function => lambda { |year| Holidays.easter(year)+50 }, :function_id => "easter(year)+50", :name => "Pünkösd hétfő", :regions => [:hu]}],
23
+ 1 => [{:mday => 1, :name => "Újév", :regions => [:hu]}],
24
+ 3 => [{:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]}],
25
+ 5 => [{:mday => 1, :name => "A munka ünnepe", :regions => [:hu]}],
26
+ 8 => [{:mday => 20, :name => "Az államalapítás ünnepe", :regions => [:hu]}],
27
+ 10 => [{:mday => 23, :name => "1956-os forradalom és szabadságharc ünnepe", :regions => [:hu]}],
28
+ 11 => [{:mday => 1, :name => "Mindenszentek", :regions => [:hu]}],
29
+ 12 => [{:mday => 25, :name => "Karácsony", :regions => [:hu]},
30
+ {:mday => 26, :name => "Karácsony", :regions => [:hu]}]
31
+ }
32
+ end
33
+ end
34
+
35
+
36
+ end
37
+
38
+ Holidays.merge_defs(Holidays::HU.defined_regions, Holidays::HU.holidays_by_month)
@@ -19,18 +19,27 @@ module Holidays
19
19
  def self.holidays_by_month
20
20
  {
21
21
  0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Easter Monday", :regions => [:ie]}],
22
- 1 => [{:mday => 1, :name => "New Year's Day", :regions => [:ie]}],
23
- 3 => [{:mday => 17, :name => "St. Patrick's Day", :regions => [:ie]}],
22
+ 1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "New Year's Day", :regions => [:ie]}],
23
+ 3 => [{:mday => 17, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "St. Patrick's Day", :regions => [:ie]}],
24
24
  5 => [{:wday => 1, :week => 1, :name => "May Day", :regions => [:ie]}],
25
- 6 => [{:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:ie]}],
26
- 8 => [{:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:ie]}],
27
- 10 => [{:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:ie]}],
28
- 12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ie]},
29
- {:mday => 26, :name => "St. Stephen's Day", :regions => [:ie]}]
25
+ 6 => [{:wday => 1, :week => 1, :name => "June Bank Holiday", :regions => [:ie]}],
26
+ 8 => [{:wday => 1, :week => 1, :name => "August Bank Holiday", :regions => [:ie]}],
27
+ 10 => [{:wday => 1, :week => -1, :name => "October Bank Holiday", :regions => [:ie]}],
28
+ 12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_weekend(date) }, :observed_id => "to_monday_if_weekend", :name => "Christmas Day", :regions => [:ie]},
29
+ {:mday => 26, :observed => lambda { |date| Holidays.ie_st_stephens_day(date) }, :observed_id => "ie_st_stephens_day", :name => "St. Stephen's Day", :regions => [:ie]}]
30
30
  }
31
31
  end
32
32
  end
33
33
 
34
+ # Ireland - Stephens Day is always the day after christmas day
35
+ def self.ie_st_stephens_day(date)
36
+ date += 2 if date.wday == 6
37
+ date += 2 if date.wday == 0
38
+ date += 1 if date.wday == 1
39
+ date
40
+ end
41
+
42
+
34
43
 
35
44
  end
36
45
 
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/ma.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/ma'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module MA # :nodoc:
15
+ def self.defined_regions
16
+ [:ma]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 1 => [{:mday => 1, :name => "Ras l' âm", :regions => [:ma]},
22
+ {:mday => 11, :name => "Takdim watikat al-istiqlal", :regions => [:ma]}],
23
+ 5 => [{:mday => 1, :name => "Eid Ash-Shughl", :regions => [:ma]}],
24
+ 7 => [{:mday => 30, :name => "Eid Al-Ârch", :regions => [:ma]}],
25
+ 8 => [{:mday => 14, :name => "Zikra Oued Ed-Dahab", :regions => [:ma]},
26
+ {:mday => 20, :name => "Thawrat al malik wa shâab", :regions => [:ma]},
27
+ {:mday => 21, :name => "Eid Al Milad", :regions => [:ma]}],
28
+ 11 => [{:mday => 6, :name => "Eid Al Massira Al Khadra", :regions => [:ma]},
29
+ {:mday => 18, :name => "Eid Al Istiqulal", :regions => [:ma]}]
30
+ }
31
+ end
32
+ end
33
+
34
+
35
+ end
36
+
37
+ Holidays.merge_defs(Holidays::MA.defined_regions, Holidays::MA.holidays_by_month)
@@ -33,8 +33,10 @@ module Holidays
33
33
  {:mday => 5, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
34
34
  {:mday => 10, :type => :informal, :name => "Día de la Madre", :regions => [:mx]},
35
35
  {:mday => 15, :type => :informal, :name => "Día del Maestro", :regions => [:mx]},
36
+ {:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
37
+ {:wday => 6, :week => 3, :type => :informal, :name => "Armed Forces Day", :regions => [:us]}],
38
+ 6 => [{:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]},
36
39
  {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
37
- 6 => [{:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]}],
38
40
  9 => [{:mday => 15, :name => "Grito de Dolores", :regions => [:mx]},
39
41
  {:mday => 16, :name => "Día de la Independencia", :regions => [:mx]}],
40
42
  10 => [{:mday => 12, :type => :informal, :name => "Día de la Raza", :regions => [:mx]},
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/nerc.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/nerc'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module NERC # :nodoc:
15
+ def self.defined_regions
16
+ [:nerc]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 1 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "New Year's Day", :regions => [:nerc]}],
22
+ 5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:nerc]}],
23
+ 7 => [{:mday => 4, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Independence Day", :regions => [:nerc]}],
24
+ 9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:nerc]}],
25
+ 11 => [{:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:nerc]}],
26
+ 12 => [{:mday => 25, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Christmas Day", :regions => [:nerc]}]
27
+ }
28
+ end
29
+ end
30
+
31
+
32
+ end
33
+
34
+ Holidays.merge_defs(Holidays::NERC.defined_regions, Holidays::NERC.holidays_by_month)
@@ -13,14 +13,16 @@ module Holidays
13
13
  # All the definitions are available at https://github.com/alexdunae/holidays
14
14
  module North_America # :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, :mx, :mx_pue, :us, :us_dc]
16
+ [:ca, :ca_qc, :ca_ab, :ca_on, :ca_sk, :ca_mb, :ca_bc, :ca_nf, :ca_nt, :ca_nu, :ca_ns, :ca_yk, :mx, :mx_pue, :us, :us_dc]
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
- {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :type => :informal, :name => "Good Friday", :regions => [:us]}],
24
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :type => :informal, :name => "Good Friday", :regions => [:us]},
25
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :type => :informal, :name => "Easter Sunday", :regions => [:us]}],
24
26
  1 => [{:mday => 1, :name => "New Year's Day", :regions => [:ca]},
25
27
  {:mday => 2, :name => "New Year's", :regions => [:ca_qc]},
26
28
  {:mday => 1, :name => "Año nuevo", :regions => [:mx]},
@@ -30,6 +32,7 @@ module Holidays
30
32
  {:function => lambda { |year| Holidays.us_inauguration_day(year) }, :function_id => "us_inauguration_day(year)", :name => "Inauguration Day", :regions => [:us_dc]}],
31
33
  2 => [{:wday => 1, :week => 3, :name => "Family Day", :regions => [:ca_ab, :ca_on, :ca_sk]},
32
34
  {:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
35
+ {:wday => 1, :week => 2, :name => "BC Family Day", :regions => [:ca_bc]},
33
36
  {:wday => 1, :week => 1, :name => "Día de la Constitución", :regions => [:mx]},
34
37
  {:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
35
38
  {:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
@@ -45,11 +48,13 @@ module Holidays
45
48
  {:mday => 10, :type => :informal, :name => "Día de la Madre", :regions => [:mx]},
46
49
  {:mday => 15, :type => :informal, :name => "Día del Maestro", :regions => [:mx]},
47
50
  {:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:us]},
48
- {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
51
+ {:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
52
+ {:wday => 6, :week => 3, :type => :informal, :name => "Armed Forces Day", :regions => [:us]}],
49
53
  6 => [{:mday => 24, :name => "Discovery Day", :regions => [:ca_nf]},
50
54
  {:mday => 24, :name => "Fête Nationale", :regions => [:ca_qc]},
51
55
  {:mday => 21, :name => "National Aboriginal Day", :regions => [:ca_nt]},
52
- {:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]}],
56
+ {:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]},
57
+ {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
53
58
  7 => [{:mday => 1, :observed => lambda { |date| Holidays.to_monday_if_sunday(date) }, :observed_id => "to_monday_if_sunday", :name => "Canada Day", :regions => [:ca]},
54
59
  {:mday => 12, :name => "Orangemen's Day", :regions => [:ca_nf]},
55
60
  {:mday => 9, :name => "Nunavut Day", :regions => [:ca_nu]},
@@ -25,7 +25,7 @@ module Holidays
25
25
  4 => [{:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
26
26
  5 => [{:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
27
27
  6 => [{:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
28
- 11 => [{:mday => 1, :name => "Todos os Santos", :regions => [:pt]}],
28
+ 8 => [{:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]}],
29
29
  12 => [{:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
30
30
  {:mday => 25, :name => "Natal", :regions => [:pt]}]
31
31
  }
@@ -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/ro.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/ro'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module RO # :nodoc:
15
+ def self.defined_regions
16
+ [:ro]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.orthodox_easter(year) }, :function_id => "orthodox_easter(year)", :name => "Paștele", :regions => [:ro]},
22
+ {:function => lambda { |year| Holidays.orthodox_easter(year)+1 }, :function_id => "orthodox_easter(year)+1", :name => "Paștele", :regions => [:ro]},
23
+ {:function => lambda { |year| Holidays.orthodox_easter(year) + 49 }, :function_id => "orthodox_easter(year) + 49", :name => "Rusaliile", :regions => [:ro]},
24
+ {:function => lambda { |year| Holidays.orthodox_easter(year) + 50 }, :function_id => "orthodox_easter(year) + 50", :name => "Rusaliile", :regions => [:ro]}],
25
+ 1 => [{:mday => 1, :name => "Anul nou", :regions => [:ro]},
26
+ {:mday => 2, :name => "Anul nou", :regions => [:ro]}],
27
+ 5 => [{:mday => 1, :name => "Ziua muncii", :regions => [:ro]}],
28
+ 8 => [{:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]}],
29
+ 11 => [{:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]}],
30
+ 12 => [{:mday => 1, :name => "Ziua Națională", :regions => [:ro]},
31
+ {:mday => 25, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]},
32
+ {:mday => 26, :name => "Sărbătoarea Nașterii Domnului", :regions => [:ro]}]
33
+ }
34
+ end
35
+ end
36
+
37
+
38
+ end
39
+
40
+ Holidays.merge_defs(Holidays::RO.defined_regions, Holidays::RO.holidays_by_month)
@@ -83,6 +83,7 @@ module Holidays
83
83
  {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
84
84
  {:mday => 6, :name => "Nationaldagen", :regions => [:se]},
85
85
  {:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]},
86
+ {:function => lambda { |year| Holidays.fi_juhannusaatto(year) }, :function_id => "fi_juhannusaatto(year)", :name => "Juhannusaatto", :regions => [:fi]},
86
87
  {:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
87
88
  11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
88
89
  {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
@@ -136,6 +137,18 @@ def self.se_alla_helgons_dag(year)
136
137
  end
137
138
 
138
139
 
140
+ # Finland: Mid-summer eve (Friday between June 19–25)
141
+ def self.fi_juhannusaatto(year)
142
+ date = Date.civil(year,6,19)
143
+ if date.wday > 5 #if 19.6 is saturday
144
+ date += 6
145
+ else
146
+ date += (5 - date.wday)
147
+ end
148
+ date
149
+ end
150
+
151
+
139
152
  # Finland: Mid-summer (Saturday between June 20–26)
140
153
  def self.fi_juhannuspaiva(year)
141
154
  date = Date.civil(year,6,20)
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/sk.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/sk'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module SK # :nodoc:
15
+ def self.defined_regions
16
+ [:sk]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Veľkonočný pondelok", :regions => [:sk]},
22
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Veľký piatok", :regions => [:sk]}],
23
+ 1 => [{:mday => 1, :name => "Nový rok", :regions => [:sk]}],
24
+ 5 => [{:mday => 1, :name => "Sviatok práce", :regions => [:sk]},
25
+ {:mday => 8, :name => "Deň víťazstva", :regions => [:sk]}],
26
+ 7 => [{:mday => 5, :name => "Sviatok svätého Cyrila a svätého Metoda", :regions => [:sk]}],
27
+ 8 => [{:mday => 29, :name => "Výročie Slovenského národného povstania", :regions => [:sk]}],
28
+ 9 => [{:mday => 1, :name => "Deň Ústavy Slovenskej republiky", :regions => [:sk]},
29
+ {:mday => 15, :name => "Sedembolestná Panna Mária", :regions => [:sk]}],
30
+ 11 => [{:mday => 1, :name => "Sviatok všetkých svätých", :regions => [:sk]},
31
+ {:mday => 17, :name => "Deň boja za slobodu a demokraciu", :regions => [:sk]}],
32
+ 12 => [{:mday => 24, :name => "Štedrý deň", :regions => [:sk]},
33
+ {:mday => 25, :name => "1. sviatok vianočný", :regions => [:sk]},
34
+ {:mday => 26, :name => "2. sviatek vianočný", :regions => [:sk]}]
35
+ }
36
+ end
37
+ end
38
+
39
+
40
+ end
41
+
42
+ Holidays.merge_defs(Holidays::SK.defined_regions, Holidays::SK.holidays_by_month)