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,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)