holidays 7.0.0 → 8.3.0

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +5 -6
  4. data/doc/CONTRIBUTING.md +2 -1
  5. data/holidays.gemspec +5 -5
  6. data/lib/generated_definitions/MANIFEST +3 -0
  7. data/lib/generated_definitions/REGIONS.rb +2 -2
  8. data/lib/generated_definitions/au.rb +1 -1
  9. data/lib/generated_definitions/ca.rb +14 -12
  10. data/lib/generated_definitions/ch.rb +13 -1
  11. data/lib/generated_definitions/cl.rb +5 -5
  12. data/lib/generated_definitions/de.rb +6 -4
  13. data/lib/generated_definitions/es.rb +4 -2
  14. data/lib/generated_definitions/europe.rb +83 -22
  15. data/lib/generated_definitions/federalreservebanks.rb +1 -1
  16. data/lib/generated_definitions/gb.rb +6 -4
  17. data/lib/generated_definitions/hr.rb +8 -6
  18. data/lib/generated_definitions/hu.rb +3 -2
  19. data/lib/generated_definitions/it.rb +14 -5
  20. data/lib/generated_definitions/jp.rb +24 -20
  21. data/lib/generated_definitions/lu.rb +2 -0
  22. data/lib/generated_definitions/lv.rb +52 -0
  23. data/lib/generated_definitions/mx.rb +3 -3
  24. data/lib/generated_definitions/ng.rb +33 -0
  25. data/lib/generated_definitions/northamerica.rb +21 -20
  26. data/lib/generated_definitions/ro.rb +5 -2
  27. data/lib/generated_definitions/southamerica.rb +5 -5
  28. data/lib/generated_definitions/th.rb +36 -0
  29. data/lib/generated_definitions/tr.rb +5 -3
  30. data/lib/generated_definitions/ua.rb +6 -6
  31. data/lib/generated_definitions/us.rb +5 -6
  32. data/lib/holidays.rb +2 -0
  33. data/lib/holidays/definition/context/generator.rb +20 -34
  34. data/lib/holidays/definition/repository/holidays_by_month.rb +9 -1
  35. data/lib/holidays/finder/context/search.rb +34 -31
  36. data/lib/holidays/finder/rules/year_range.rb +30 -54
  37. data/lib/holidays/version.rb +1 -1
  38. data/test/coverage_report.rb +23 -5
  39. data/test/data/test_custom_year_range_holiday_defs.yaml +6 -10
  40. data/test/data/test_multiple_regions_with_conflicts_region_1.yaml +38 -0
  41. data/test/data/test_multiple_regions_with_conflicts_region_2.yaml +38 -0
  42. data/test/defs/test_defs_ca.rb +31 -1
  43. data/test/defs/test_defs_ch.rb +4 -0
  44. data/test/defs/test_defs_co.rb +3 -3
  45. data/test/defs/test_defs_de.rb +6 -0
  46. data/test/defs/test_defs_es.rb +2 -0
  47. data/test/defs/test_defs_europe.rb +160 -11
  48. data/test/defs/test_defs_federalreservebanks.rb +137 -3
  49. data/test/defs/test_defs_gb.rb +16 -0
  50. data/test/defs/test_defs_hr.rb +6 -6
  51. data/test/defs/test_defs_hu.rb +12 -4
  52. data/test/defs/test_defs_it.rb +20 -0
  53. data/test/defs/test_defs_lu.rb +6 -0
  54. data/test/defs/test_defs_lv.rb +90 -0
  55. data/test/defs/test_defs_ng.rb +29 -0
  56. data/test/defs/test_defs_northamerica.rb +37 -11
  57. data/test/defs/test_defs_ro.rb +14 -0
  58. data/test/defs/test_defs_southamerica.rb +3 -3
  59. data/test/defs/test_defs_th.rb +33 -0
  60. data/test/defs/test_defs_tr.rb +7 -0
  61. data/test/defs/test_defs_us.rb +6 -10
  62. data/test/holidays/core_extensions/test_date.rb +3 -2
  63. data/test/holidays/definition/context/test_generator.rb +5 -18
  64. data/test/holidays/definition/repository/test_holidays_by_month.rb +121 -1
  65. data/test/holidays/finder/rules/test_year_range.rb +43 -47
  66. data/test/integration/test_available_regions.rb +1 -1
  67. data/test/integration/test_custom_year_range_holidays.rb +0 -7
  68. data/test/integration/test_holidays.rb +1 -23
  69. data/test/integration/test_holidays_between.rb +10 -0
  70. data/test/integration/test_multiple_regions_with_conflict.rb +29 -0
  71. data/test/integration/test_nonstandard_regions.rb +1 -1
  72. metadata +27 -13
@@ -16,7 +16,7 @@ module Holidays
16
16
  {:wday => 1, :week => 3, :name => "Birthday of Martin Luther King, Jr", :regions => [:federalreservebanks]}],
17
17
  2 => [{:wday => 1, :week => 3, :name => "Washington's Birthday", :regions => [:federalreservebanks]}],
18
18
  5 => [{:wday => 1, :week => -1, :name => "Memorial Day", :regions => [:federalreservebanks]}],
19
- 7 => [{:mday => 4, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:federalreservebanks]}],
19
+ 7 => [{:mday => 4, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:federalreservebanks]}],
20
20
  9 => [{:wday => 1, :week => 1, :name => "Labor Day", :regions => [:federalreservebanks]}],
21
21
  10 => [{:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:federalreservebanks]}],
22
22
  11 => [{:mday => 11, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:federalreservebanks]},
@@ -19,16 +19,18 @@ module Holidays
19
19
  {:mday => 2, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "2nd January", :regions => [:gb_sct]}],
20
20
  3 => [{:mday => 5, :name => "St. Piran's Day", :regions => [:gb_con]},
21
21
  {:mday => 17, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Patrick's Day", :regions => [:gb_nir]}],
22
- 5 => [{:wday => 1, :week => 1, :name => "May Day", :regions => [:gb]},
22
+ 5 => [{:wday => 1, :week => 1, :year_ranges => { :until => 2019 },:name => "May Day", :regions => [:gb]},
23
+ {:mday => 8, :year_ranges => { :limited => [2020] },:name => "May Day", :regions => [:gb]},
24
+ {:wday => 1, :week => 1, :year_ranges => { :from => 2021 },:name => "May Day", :regions => [:gb]},
23
25
  {:mday => 9, :name => "Liberation Day", :regions => [:je, :gb_jsy, :gg, :gb_gsy]},
24
26
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb]}],
25
27
  7 => [{:mday => 5, :name => "Tynwald Day", :regions => [:im, :gb_iom]},
26
- {:mday => 12, :name => "Battle of the Boyne", :regions => [:gb_nir]}],
28
+ {:mday => 12, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Battle of the Boyne", :regions => [:gb_nir]}],
27
29
  8 => [{:wday => 1, :week => 1, :name => "Bank Holiday", :regions => [:gb_sct]},
28
30
  {:wday => 1, :week => -1, :name => "Bank Holiday", :regions => [:gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy]}],
29
31
  11 => [{:mday => 5, :type => :informal, :name => "Guy Fawkes Day", :regions => [:gb]},
30
- {:mday => 30, :year_ranges => [{:before => 2006}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
31
- {:mday => 30, :year_ranges => [{:after => 2007}],:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]}],
32
+ {:mday => 30, :year_ranges => { :until => 2006 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "St. Andrew's Day", :regions => [:gb_sct]},
33
+ {:mday => 30, :year_ranges => { :from => 2007 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "St. Andrew's Day", :regions => [:gb_sct]}],
32
34
  12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:gb]},
33
35
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:gb]}]
34
36
  }
@@ -16,14 +16,16 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Uskrsni ponedjeljak", :regions => [:hr]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Tijelovo", :regions => [:hr]}],
18
18
  1 => [{:mday => 1, :name => "Nova godina", :regions => [:hr]},
19
- {:mday => 6, :name => "Sveta tri kralja", :regions => [:hr]}],
20
- 5 => [{:mday => 1, :name => "Međunarodni praznik rada", :regions => [:hr]}],
19
+ {:mday => 6, :name => "Bogojavljenje ili Sveta tri kralja", :regions => [:hr]}],
20
+ 5 => [{:mday => 1, :name => "Praznik rada", :regions => [:hr]},
21
+ {:mday => 30, :year_ranges => { :from => 2020 },:name => "Dan državnosti", :regions => [:hr]}],
21
22
  6 => [{:mday => 22, :name => "Dan antifašističke borbe", :regions => [:hr]},
22
- {:mday => 25, :name => "Dan državnosti", :regions => [:hr]}],
23
- 8 => [{:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i dan hrvatskih branitelja", :regions => [:hr]},
23
+ {:mday => 25, :year_ranges => { :until => 2019 },:name => "Dan državnosti", :regions => [:hr]}],
24
+ 8 => [{:mday => 5, :name => "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", :regions => [:hr]},
24
25
  {:mday => 15, :name => "Velika Gospa", :regions => [:hr]}],
25
- 10 => [{:mday => 8, :name => "Dan neovisnosti", :regions => [:hr]}],
26
- 11 => [{:mday => 1, :name => "Dan svih svetih", :regions => [:hr]}],
26
+ 10 => [{:mday => 8, :year_ranges => { :until => 2019 },:name => "Dan neovisnosti", :regions => [:hr]}],
27
+ 11 => [{:mday => 1, :name => "Svi sveti", :regions => [:hr]},
28
+ {:mday => 18, :year_ranges => { :from => 2020 },:name => "Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje", :regions => [:hr]}],
27
29
  12 => [{:mday => 25, :name => "Božić", :regions => [:hr]},
28
30
  {:mday => 26, :name => "Sveti Stjepan", :regions => [:hr]}]
29
31
  }
@@ -12,8 +12,9 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvét hétfő", :regions => [:hu]},
16
- {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösd hétfő", :regions => [:hu]}],
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2017 },:name => "Nagypéntek", :regions => [:hu]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Húsvéthétfő", :regions => [:hu]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pünkösdhétfő", :regions => [:hu]}],
17
18
  1 => [{:mday => 1, :name => "Újév", :regions => [:hu]}],
18
19
  3 => [{:mday => 15, :name => "1848/49-es forradalom és szabadságharc ünnepe", :regions => [:hu]}],
19
20
  5 => [{:mday => 1, :name => "A munka ünnepe", :regions => [:hu]}],
@@ -7,7 +7,7 @@ module Holidays
7
7
  # All the definitions are available at https://github.com/holidays/holidays
8
8
  module IT # :nodoc:
9
9
  def self.defined_regions
10
- [:it]
10
+ [:it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
@@ -16,11 +16,20 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Lunedì dell'Angelo", :regions => [:it]}],
17
17
  1 => [{:mday => 1, :name => "Capodanno", :regions => [:it]},
18
18
  {:mday => 6, :name => "Epifania", :regions => [:it]}],
19
- 4 => [{:mday => 25, :name => "Festa della Liberazione", :regions => [:it]}],
20
- 5 => [{:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]}],
21
- 6 => [{:mday => 2, :name => "Festa della Repubblica", :regions => [:it]}],
19
+ 4 => [{:mday => 25, :name => "Festa della Liberazione", :regions => [:it]},
20
+ {:mday => 25, :name => "Festa di San Marco Evangelista", :regions => [:it_ve]},
21
+ {:mday => 27, :name => "Festa di San Liberale", :regions => [:it_tv]}],
22
+ 5 => [{:mday => 1, :name => "Festa dei Lavoratori", :regions => [:it]},
23
+ {:mday => 21, :name => "Festa di San Zeno", :regions => [:it_vr]}],
24
+ 6 => [{:mday => 2, :name => "Festa della Repubblica", :regions => [:it]},
25
+ {:mday => 13, :name => "Festa di Sant'Antonio di Padova", :regions => [:it_pd]},
26
+ {:mday => 24, :name => "Festa di San Giovanni Battista", :regions => [:it_fi, :it_ge, :it_to]},
27
+ {:mday => 29, :name => "Festa di San Pietro e Paolo", :regions => [:it_rm]}],
22
28
  8 => [{:mday => 15, :name => "Assunzione", :regions => [:it]}],
23
- 11 => [{:mday => 1, :name => "Ognissanti", :regions => [:it]}],
29
+ 9 => [{:mday => 8, :name => "Festa della Madonna di Monte Berico", :regions => [:it_vi]}],
30
+ 11 => [{:mday => 1, :name => "Ognissanti", :regions => [:it]},
31
+ {:mday => 11, :name => "Festa di San Martino", :regions => [:it_bl]},
32
+ {:mday => 26, :name => "Festa di San Bellino", :regions => [:it_ro]}],
24
33
  12 => [{:mday => 8, :name => "Immacolata Concezione", :regions => [:it]},
25
34
  {:mday => 25, :name => "Natale", :regions => [:it]},
26
35
  {:mday => 26, :name => "Santo Stefano", :regions => [:it]}]
@@ -17,42 +17,46 @@ module Holidays
17
17
  {:mday => 1, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
18
18
  2 => [{:mday => 11, :name => "建国記念の日", :regions => [:jp]},
19
19
  {:mday => 11, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
20
- {:mday => 23, :year_ranges => [{:after => 2020}],:name => "天皇誕生日", :regions => [:jp]},
21
- {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => [{:after => 2020}],:name => "振替休日", :regions => [:jp]}],
20
+ {:mday => 23, :year_ranges => { :from => 2020 },:name => "天皇誕生日", :regions => [:jp]},
21
+ {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => { :from => 2020 },:name => "振替休日", :regions => [:jp]}],
22
22
  3 => [{:function => "jp_vernal_equinox_day(year)", :function_arguments => [:year], :name => "春分の日", :regions => [:jp]},
23
23
  {:function => "jp_vernal_equinox_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]}],
24
24
  4 => [{:mday => 29, :name => "昭和の日", :regions => [:jp]},
25
- {:mday => 29, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
26
- 5 => [{:mday => 3, :name => "憲法記念日", :regions => [:jp]},
25
+ {:mday => 29, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
26
+ {:mday => 30, :year_ranges => { :limited => [2019] },:name => "休日", :regions => [:jp]}],
27
+ 5 => [{:mday => 1, :year_ranges => { :limited => [2019] },:name => "天皇即位", :regions => [:jp]},
28
+ {:mday => 2, :year_ranges => { :limited => [2019] },:name => "休日", :regions => [:jp]},
29
+ {:mday => 3, :name => "憲法記念日", :regions => [:jp]},
27
30
  {:mday => 4, :name => "みどりの日", :regions => [:jp]},
28
31
  {:mday => 5, :name => "こどもの日", :regions => [:jp]},
29
32
  {:mday => 3, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
30
33
  {:mday => 4, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
31
34
  {:mday => 5, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
32
- 7 => [{:mday => 20, :year_ranges => [{:between => 1996..2002}],:name => "海の日", :regions => [:jp]},
33
- {:wday => 1, :week => 3, :year_ranges => [{:between => 2003..2019}],:name => "海の日", :regions => [:jp]},
34
- {:mday => 23, :year_ranges => [{:limited => [2020]}],:name => "海の日", :regions => [:jp]},
35
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2021}],:name => "海の日", :regions => [:jp]},
36
- {:function => "jp_marine_day_substitute(year)", :function_arguments => [:year], :year_ranges => [{:between => 1996..2002}],:name => "振替休日", :regions => [:jp]},
37
- {:mday => 24, :year_ranges => [{:limited => [2020]}],:name => "スポーツの日", :regions => [:jp]}],
38
- 8 => [{:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => [{:between => 2016..2019}],:name => "山の日", :regions => [:jp]},
39
- {:mday => 10, :year_ranges => [{:limited => [2020]}],:name => "山の日", :regions => [:jp]},
40
- {:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => [{:after => 2021}],:name => "山の日", :regions => [:jp]},
41
- {:function => "jp_mountain_holiday_substitute(year)", :function_arguments => [:year], :year_ranges => [{:after => 2016}],:name => "振替休日", :regions => [:jp]}],
35
+ 7 => [{:mday => 20, :year_ranges => { :between => 1996..2002 },:name => "海の日", :regions => [:jp]},
36
+ {:wday => 1, :week => 3, :year_ranges => { :between => 2003..2019 },:name => "海の日", :regions => [:jp]},
37
+ {:mday => 23, :year_ranges => { :limited => [2020] },:name => "海の日", :regions => [:jp]},
38
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2021 },:name => "海の日", :regions => [:jp]},
39
+ {:function => "jp_marine_day_substitute(year)", :function_arguments => [:year], :year_ranges => { :between => 1996..2002 },:name => "振替休日", :regions => [:jp]},
40
+ {:mday => 24, :year_ranges => { :limited => [2020] },:name => "スポーツの日", :regions => [:jp]}],
41
+ 8 => [{:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => { :between => 2016..2019 },:name => "山の日", :regions => [:jp]},
42
+ {:mday => 10, :year_ranges => { :limited => [2020] },:name => "山の日", :regions => [:jp]},
43
+ {:function => "jp_mountain_holiday(year)", :function_arguments => [:year], :year_ranges => { :from => 2021 },:name => "山の日", :regions => [:jp]},
44
+ {:function => "jp_mountain_holiday_substitute(year)", :function_arguments => [:year], :year_ranges => { :from => 2016 },:name => "振替休日", :regions => [:jp]}],
42
45
  9 => [{:wday => 1, :week => 3, :name => "敬老の日", :regions => [:jp]},
43
46
  {:function => "jp_respect_for_aged_holiday_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]},
44
- {:function => "jp_citizens_holiday(year)", :function_arguments => [:year], :year_ranges => [{:after => 2003}],:name => "国民の休日", :regions => [:jp]},
47
+ {:function => "jp_citizens_holiday(year)", :function_arguments => [:year], :year_ranges => { :from => 2003 },:name => "国民の休日", :regions => [:jp]},
45
48
  {:function => "jp_national_culture_day(year)", :function_arguments => [:year], :name => "秋分の日", :regions => [:jp]},
46
49
  {:function => "jp_national_culture_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]}],
47
- 10 => [{:wday => 1, :week => 2, :year_ranges => [{:before => 2019}],:name => "体育の日", :regions => [:jp]},
48
- {:wday => 1, :week => 2, :year_ranges => [{:after => 2021}],:name => "スポーツの日", :regions => [:jp]},
49
- {:function => "jp_health_sports_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]}],
50
+ 10 => [{:wday => 1, :week => 2, :year_ranges => { :until => 2019 },:name => "体育の日", :regions => [:jp]},
51
+ {:wday => 1, :week => 2, :year_ranges => { :from => 2021 },:name => "スポーツの日", :regions => [:jp]},
52
+ {:function => "jp_health_sports_day_substitute(year)", :function_arguments => [:year], :name => "振替休日", :regions => [:jp]},
53
+ {:mday => 22, :year_ranges => { :limited => [2019] },:name => "即位礼正殿の儀", :regions => [:jp]}],
50
54
  11 => [{:mday => 3, :name => "文化の日", :regions => [:jp]},
51
55
  {:mday => 3, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]},
52
56
  {:mday => 23, :name => "勤労感謝の日", :regions => [:jp]},
53
57
  {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :name => "振替休日", :regions => [:jp]}],
54
- 12 => [{:mday => 23, :year_ranges => [{:before => 2018}],:name => "天皇誕生日", :regions => [:jp]},
55
- {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => [{:before => 2018}],:name => "振替休日", :regions => [:jp]}]
58
+ 12 => [{:mday => 23, :year_ranges => { :until => 2018 },:name => "天皇誕生日", :regions => [:jp]},
59
+ {:mday => 23, :function => "jp_substitute_holiday(year, month, day)", :function_arguments => [:year, :month, :day], :year_ranges => { :until => 2018 },:name => "振替休日", :regions => [:jp]}]
56
60
  }
57
61
  end
58
62
 
@@ -16,6 +16,8 @@ module Holidays
16
16
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfaart", :regions => [:lu]},
17
17
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Péngschtméindeg", :regions => [:lu]}],
18
18
  1 => [{:mday => 1, :name => "Neijoerschdag", :regions => [:lu]}],
19
+ 5 => [{:mday => 1, :name => "Dag vun der Aarbecht", :regions => [:lu]},
20
+ {:mday => 9, :year_ranges => { :from => 2019 },:name => "Europadag", :regions => [:lu]}],
19
21
  6 => [{:mday => 23, :name => "Nationalfeierdag", :regions => [:lu]}],
20
22
  8 => [{:mday => 15, :name => "Léiffrawëschdag", :regions => [:lu]}],
21
23
  11 => [{:mday => 1, :name => "Allerhellgen", :regions => [:lu]}],
@@ -0,0 +1,52 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/lv.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module LV # :nodoc:
9
+ def self.defined_regions
10
+ [:lv]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Lielā Piektdiena", :regions => [:lv]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :name => "Pirmās Lieldienas", :regions => [:lv]},
17
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Otrās Lieldienas", :regions => [:lv]},
18
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Vasarsvētki", :regions => [:lv]},
19
+ {:function => "lv_song_and_dance_festival_end_date(year)", :function_arguments => [:year], :year_ranges => { :from => 2018 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Vispārējo latviešu Dziesmu un deju svētku noslēguma diena", :regions => [:lv]}],
20
+ 1 => [{:mday => 1, :name => "Jaungada diena", :regions => [:lv]}],
21
+ 5 => [{:mday => 1, :name => "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", :regions => [:lv]},
22
+ {:mday => 4, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Neatkarības atjaunošanas diena", :regions => [:lv]},
23
+ {:wday => 0, :week => 2, :name => "Mātes diena", :regions => [:lv]}],
24
+ 6 => [{:mday => 23, :name => "Līgo diena", :regions => [:lv]},
25
+ {:mday => 24, :name => "Jāņu diena", :regions => [:lv]}],
26
+ 9 => [{:mday => 24, :year_ranges => { :limited => [2018] },:name => "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", :regions => [:lv]}],
27
+ 11 => [{:mday => 18, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Latvijas Republikas Proklamēšanas diena", :regions => [:lv]}],
28
+ 12 => [{:mday => 24, :name => "Ziemassvētku vakars", :regions => [:lv]},
29
+ {:mday => 25, :name => "Pirmie Ziemassvētki", :regions => [:lv]},
30
+ {:mday => 26, :name => "Otrie Ziemassvētki", :regions => [:lv]},
31
+ {:mday => 31, :name => "Vecgada diena", :regions => [:lv]}]
32
+ }
33
+ end
34
+
35
+ def self.custom_methods
36
+ {
37
+ "lv_song_and_dance_festival_end_date(year)" => Proc.new { |year|
38
+ case year
39
+ when 2018
40
+ # https://likumi.lv/ta/id/281541 (Ministru kabineta rīkojums Nr. 252 "Par XXVI Vispārējo latviešu dziesmu un XVI Deju svētku norises laiku")
41
+ Date.new(2018, 7, 8)
42
+ when 2023
43
+ # Event's period/next year is known, but precise dates aren't.
44
+ # Previously, dates were announced 2 years ahead, so at ~2021-05 this method would need to be revisited.
45
+ end
46
+ },
47
+
48
+
49
+ }
50
+ end
51
+ end
52
+ end
@@ -13,7 +13,7 @@ module Holidays
13
13
  def self.holidays_by_month
14
14
  {
15
15
  1 => [{:mday => 1, :name => "Año nuevo", :regions => [:mx]},
16
- {:mday => 6, :name => "Dia de los Santos Reyes", :regions => [:mx]}],
16
+ {:mday => 6, :type => :informal, :name => "Dia de los Santos Reyes", :regions => [:mx]}],
17
17
  2 => [{:wday => 1, :week => 1, :name => "Día de la Constitución", :regions => [:mx]},
18
18
  {:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
19
19
  {:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
@@ -24,7 +24,7 @@ module Holidays
24
24
  {:mday => 22, :type => :informal, :name => "Earth Day", :regions => [:us, :ca]}],
25
25
  5 => [{:mday => 1, :name => "Día del Trabajo", :regions => [:mx]},
26
26
  {:mday => 5, :type => :informal, :name => "Cinco de Mayo", :regions => [:mx]},
27
- {:mday => 5, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
27
+ {:mday => 5, :type => :informal, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
28
28
  {:mday => 10, :type => :informal, :name => "Día de la Madre", :regions => [:mx]},
29
29
  {:mday => 15, :type => :informal, :name => "Día del Maestro", :regions => [:mx]},
30
30
  {:wday => 0, :week => 2, :type => :informal, :name => "Mother's Day", :regions => [:us, :ca]},
@@ -41,7 +41,7 @@ module Holidays
41
41
  12 => [{:mday => 12, :type => :informal, :name => "Día de la Virgen de Guadalupe", :regions => [:mx]},
42
42
  {:mday => 24, :type => :informal, :name => "Nochebuena", :regions => [:mx]},
43
43
  {:mday => 25, :name => "Navidad", :regions => [:mx]},
44
- {:mday => 28, :name => "Los Santos Inocentes", :regions => [:mx]}]
44
+ {:mday => 28, :type => :informal, :name => "Los Santos Inocentes", :regions => [:mx]}]
45
45
  }
46
46
  end
47
47
 
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: definitions/ng.yaml
6
+ #
7
+ # All the definitions are available at https://github.com/holidays/holidays
8
+ module NG # :nodoc:
9
+ def self.defined_regions
10
+ [:ng]
11
+ end
12
+
13
+ def self.holidays_by_month
14
+ {
15
+ 0 => [{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:ng]},
16
+ {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:ng]}],
17
+ 1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ng]}],
18
+ 5 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Workers' Day", :regions => [:ng]},
19
+ {:mday => 27, :type => :informal, :name => "Children's Day", :regions => [:ng]}],
20
+ 6 => [{:mday => 12, :year_ranges => { :from => 2018 },:name => "Democracy Day", :regions => [:ng]}],
21
+ 10 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Independence Day", :regions => [:ng]}],
22
+ 12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ng]},
23
+ {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:ng]}]
24
+ }
25
+ end
26
+
27
+ def self.custom_methods
28
+ {
29
+
30
+ }
31
+ end
32
+ end
33
+ end
@@ -7,7 +7,7 @@ module Holidays
7
7
  # All the definitions are available at https://github.com/holidays/holidays
8
8
  module NORTHAMERICA # :nodoc:
9
9
  def self.defined_regions
10
- [:ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :mx, :mx_pue, :us_fl, :us_la, :us, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_il, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_al, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_mt, :us_nm, :us_ny, :us_oh, :us_pa, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok]
10
+ [:ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :mx, :mx_pue, :us_fl, :us_la, :us, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_al, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_pa, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok]
11
11
  end
12
12
 
13
13
  def self.holidays_by_month
@@ -23,7 +23,7 @@ module Holidays
23
23
  1 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:ca]},
24
24
  {:mday => 2, :name => "New Year's", :regions => [:ca_qc]},
25
25
  {:mday => 1, :name => "Año nuevo", :regions => [:mx]},
26
- {:mday => 6, :name => "Dia de los Santos Reyes", :regions => [:mx]},
26
+ {:mday => 6, :type => :informal, :name => "Dia de los Santos Reyes", :regions => [:mx]},
27
27
  {:mday => 1, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "New Year's Day", :regions => [:us]},
28
28
  {:wday => 1, :week => 3, :name => "Martin Luther King's and Robert E. Lee's Birthdays", :regions => [:us_ms]},
29
29
  {:wday => 1, :week => 3, :name => "Idaho Human Rights Day", :regions => [:us_id]},
@@ -32,22 +32,22 @@ module Holidays
32
32
  {:function => "us_inauguration_day(year)", :function_arguments => [:year], :name => "Inauguration Day", :regions => [:us_tx, :us_dc, :us_la, :us_md, :us_va]},
33
33
  {:function => "lee_jackson_day(year, month)", :function_arguments => [:year, :month], :name => "Lee-Jackson Day", :regions => [:us_va]},
34
34
  {:mday => 19, :name => "Confederate Heroes Day", :regions => [:us_tx]}],
35
- 2 => [{:wday => 1, :week => 3, :year_ranges => [{:after => 1990}],:name => "Family Day", :regions => [:ca_ab]},
36
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2007}],:name => "Family Day", :regions => [:ca_sk]},
37
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2008}],:name => "Family Day", :regions => [:ca_on]},
38
- {:wday => 1, :week => 2, :year_ranges => [{:between => 2013..2018}],:name => "Family Day", :regions => [:ca_bc]},
39
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2019}],:name => "Family Day", :regions => [:ca_bc]},
40
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2018}],:name => "Family Day", :regions => [:ca_nb]},
35
+ 2 => [{:wday => 1, :week => 3, :year_ranges => { :from => 1990 },:name => "Family Day", :regions => [:ca_ab]},
36
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2007 },:name => "Family Day", :regions => [:ca_sk]},
37
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2008 },:name => "Family Day", :regions => [:ca_on]},
38
+ {:wday => 1, :week => 2, :year_ranges => { :between => 2013..2018 },:name => "Family Day", :regions => [:ca_bc]},
39
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2019 },:name => "Family Day", :regions => [:ca_bc]},
40
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2018 },:name => "Family Day", :regions => [:ca_nb]},
41
41
  {:wday => 1, :week => 3, :name => "Louis Riel Day", :regions => [:ca_mb]},
42
- {:wday => 1, :week => 3, :year_ranges => [{:after => 2015}],:name => "Nova Scotia Heritage Day", :regions => [:ca_ns]},
42
+ {:wday => 1, :week => 3, :year_ranges => { :from => 2015 },:name => "Nova Scotia Heritage Day", :regions => [:ca_ns]},
43
43
  {:wday => 1, :week => 3, :name => "Islander Day", :regions => [:ca_pe]},
44
44
  {:wday => 1, :week => 1, :name => "Día de la Constitución", :regions => [:mx]},
45
45
  {:wday => 1, :week => 3, :name => "Presidents' Day", :regions => [:us]},
46
46
  {:mday => 2, :type => :informal, :name => "Groundhog Day", :regions => [:us, :ca]},
47
47
  {:mday => 14, :type => :informal, :name => "Valentine's Day", :regions => [:us, :ca]}],
48
- 3 => [{:mday => 23, :type => :informal, :name => "St. George's Day", :regions => [:ca_nl]},
48
+ 3 => [{:mday => 17, :type => :informal, :name => "St. Patrick's Day", :regions => [:ca_nl]},
49
+ {:mday => 23, :type => :informal, :name => "St. George's Day", :regions => [:ca_nl]},
49
50
  {:wday => 1, :week => 3, :name => "Natalicio de Benito Juárez", :regions => [:mx]},
50
- {:wday => 1, :week => 1, :name => "Casimir Pulaski Day", :regions => [:us_il]},
51
51
  {:wday => 2, :week => 1, :name => "Town Meeting Day", :regions => [:us_vt]},
52
52
  {:mday => 2, :name => "Texas Independence Day", :regions => [:us_tx]},
53
53
  {:mday => 26, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Prince Jonah Kuhio Kalanianaole Day", :regions => [:us_hi]},
@@ -58,7 +58,7 @@ module Holidays
58
58
  {:function => "ca_victoria_day(year)", :function_arguments => [:year], :name => "National Patriotes Day", :regions => [:ca_qc]},
59
59
  {:mday => 1, :name => "Día del Trabajo", :regions => [:mx]},
60
60
  {:mday => 5, :type => :informal, :name => "Cinco de Mayo", :regions => [:mx]},
61
- {:mday => 5, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
61
+ {:mday => 5, :type => :informal, :name => "La Batalla de Puebla", :regions => [:mx_pue]},
62
62
  {:mday => 10, :type => :informal, :name => "Día de la Madre", :regions => [:mx]},
63
63
  {:mday => 15, :type => :informal, :name => "Día del Maestro", :regions => [:mx]},
64
64
  {:mday => 8, :name => "Truman Day", :regions => [:us_mo]},
@@ -69,7 +69,7 @@ module Holidays
69
69
  6 => [{:mday => 24, :type => :informal, :name => "Discovery Day", :regions => [:ca_nl]},
70
70
  {:mday => 24, :name => "Fête Nationale", :regions => [:ca_qc]},
71
71
  {:mday => 21, :name => "National Aboriginal Day", :regions => [:ca_nt]},
72
- {:mday => 21, :year_ranges => [{:after => 2017}],:name => "National Aboriginal Day", :regions => [:ca_yt]},
72
+ {:mday => 21, :year_ranges => { :from => 2017 },:name => "National Aboriginal Day", :regions => [:ca_yt]},
73
73
  {:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:mx]},
74
74
  {:wday => 1, :week => 1, :name => "Jefferson Davis' Birthday", :regions => [:us_al]},
75
75
  {:mday => 3, :name => "Birthday of Jefferson Davis", :regions => [:us_fl]},
@@ -79,7 +79,7 @@ module Holidays
79
79
  {:wday => 0, :week => 3, :type => :informal, :name => "Father's Day", :regions => [:us, :ca]}],
80
80
  7 => [{:mday => 1, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Canada Day", :regions => [:ca]},
81
81
  {:mday => 12, :type => :informal, :name => "Orangemen's Day", :regions => [:ca_nl]},
82
- {:mday => 9, :name => "Nunavut Day", :regions => [:ca_nu]},
82
+ {:mday => 9, :year_ranges => { :from => 2020 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Nunavut Day", :regions => [:ca_nu]},
83
83
  {:mday => 3, :name => "Emancipation Day", :regions => [:us_vi]},
84
84
  {:mday => 4, :name => "Independence Day", :regions => [:us]},
85
85
  {:mday => 4, :function => "to_weekday_if_weekend(date)", :function_arguments => [:date], :name => "Independence Day (Holiday)", :regions => [:us_va]},
@@ -91,6 +91,7 @@ module Holidays
91
91
  {:wday => 1, :week => 1, :name => "Civic Holiday", :regions => [:ca_nt, :ca_nu]},
92
92
  {:wday => 1, :week => 1, :type => :informal, :name => "Civic Holiday", :regions => [:ca_on, :ca_pe]},
93
93
  {:wday => 1, :week => 1, :name => "New Brunswick Day", :regions => [:ca_nb]},
94
+ {:wday => 1, :week => 1, :type => :informal, :name => "Terry Fox Day", :regions => [:ca_mb]},
94
95
  {:wday => 1, :week => 3, :name => "Discovery Day", :regions => [:ca_yt]},
95
96
  {:wday => 1, :week => 2, :name => "Victory Day", :regions => [:us_ri]},
96
97
  {:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Bennington Battle Day", :regions => [:us_vt]},
@@ -102,7 +103,7 @@ module Holidays
102
103
  {:wday => 1, :week => 1, :name => "Labor Day", :regions => [:us]},
103
104
  {:function => "rosh_hashanah(year)", :function_arguments => [:year], :name => "Rosh Hashanah", :regions => [:us_tx]},
104
105
  {:function => "yom_kippur(year)", :function_arguments => [:year], :name => "Yom Kippur", :regions => [:us_tx]}],
105
- 10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nt, :ca_nu, :ca_on, :ca_sk, :ca_yt]},
106
+ 10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nt, :ca_nu, :ca_on, :ca_qc, :ca_sk, :ca_yt]},
106
107
  {:mday => 12, :type => :informal, :name => "Día de la Raza", :regions => [:mx]},
107
108
  {:wday => 1, :week => 2, :name => "Columbus Day", :regions => [:us_al, :us_az, :us_co, :us_ct, :us_dc, :us_ga, :us_id, :us_il, :us_in, :us_ma, :us_md, :us_me, :us_mo, :us_mt, :us_ne, :us_nj, :us_nm, :us_ny, :us_oh, :us_pa, :us_ri, :us_ut, :us_va, :us_wv]},
108
109
  {:wday => 1, :week => 2, :type => :informal, :name => "Columbus Day", :regions => [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy]},
@@ -113,7 +114,7 @@ module Holidays
113
114
  {:mday => 1, :type => :informal, :name => "Todos los Santos", :regions => [:mx]},
114
115
  {:mday => 2, :type => :informal, :name => "Los Fieles Difuntos", :regions => [:mx]},
115
116
  {:wday => 1, :week => 3, :name => "Día de la Revolución", :regions => [:mx]},
116
- {:function => "election_day(year)", :function_arguments => [:year], :name => "Election Day", :regions => [:us_de, :us_hi, :us_il, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri]},
117
+ {:function => "election_day(year)", :function_arguments => [:year], :name => "Election Day", :regions => [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri]},
117
118
  {:mday => 11, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Veterans Day", :regions => [:us]},
118
119
  {:wday => 4, :week => 4, :name => "Thanksgiving", :regions => [:us]},
119
120
  {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Family Day", :regions => [:us_nv]},
@@ -122,20 +123,20 @@ module Holidays
122
123
  {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Lincoln's Birthday", :regions => [:us_in]},
123
124
  {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "American Indian Heritage Day", :regions => [:us_md]},
124
125
  {:function => "day_after_thanksgiving(year)", :function_arguments => [:year], :name => "Day after Thanksgiving (Black Friday)", :regions => [:us_ca, :us_de, :us_fl, :us_ia, :us_il, :us_ks, :us_ky, :us_me, :us_mi, :us_mn, :us_ms, :us_ne, :us_nh, :us_nc, :us_pa, :us_sc, :us_ok, :us_tn, :us_tx, :us_va, :us_wa, :us_wv]}],
125
- 12 => [{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ca]},
126
+ 12 => [{:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:ca]},
126
127
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:ca_on]},
127
128
  {:mday => 26, :observed => "to_weekday_if_boxing_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "Boxing Day", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nb, :ca_nl, :ca_nt, :ca_ns, :ca_nu, :ca_pe, :ca_sk, :ca_yt]},
128
129
  {:mday => 12, :type => :informal, :name => "Día de la Virgen de Guadalupe", :regions => [:mx]},
129
130
  {:mday => 24, :type => :informal, :name => "Nochebuena", :regions => [:mx]},
130
131
  {:mday => 25, :name => "Navidad", :regions => [:mx]},
131
- {:mday => 28, :name => "Los Santos Inocentes", :regions => [:mx]},
132
+ {:mday => 28, :type => :informal, :name => "Los Santos Inocentes", :regions => [:mx]},
132
133
  {:mday => 24, :name => "Christmas Eve", :regions => [:us_ar, :us_mi, :us_nc, :us_sc, :us_tx, :us_wi]},
133
134
  {:mday => 24, :function => "christmas_eve_holiday(date)", :function_arguments => [:date], :name => "Christmas Eve (Holiday)", :regions => [:us_mi, :us_sc, :us_va]},
134
- {:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:us]},
135
+ {:mday => 25, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:us]},
135
136
  {:mday => 26, :name => "Day after Christmas", :regions => [:us_ar, :us_nc, :us_ok, :us_sc, :us_tn, :us_tx]},
136
137
  {:mday => 31, :name => "New Year's Eve", :regions => [:us_mi, :us_wi]}],
137
138
  4 => [{:mday => 30, :type => :informal, :name => "Día del Niño", :regions => [:mx]},
138
- {:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Emancipation Day", :regions => [:us_dc, :us_ca]},
139
+ {:mday => 16, :observed => "to_weekday_if_weekend(date)", :observed_arguments => [:date], :name => "Emancipation Day", :regions => [:us_dc]},
139
140
  {:wday => 1, :week => 3, :name => "Patriots' Day", :regions => [:us_me, :us_ma]},
140
141
  {:mday => 21, :name => "San Jacinto Day", :regions => [:us_tx]},
141
142
  {:wday => 1, :week => -1, :name => "Confederate Memorial Day", :regions => [:us_al, :us_ms]},
@@ -12,13 +12,16 @@ module Holidays
12
12
 
13
13
  def self.holidays_by_month
14
14
  {
15
- 0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Paștele - duminică", :regions => [:ro]},
15
+ 0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :year_ranges => { :from => 2018 },:name => "Paștele - Vinerea Mare", :regions => [:ro]},
16
+ {:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Paștele - duminică", :regions => [:ro]},
16
17
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Paștele - luni", :regions => [:ro]},
17
18
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Rusaliile - 50", :regions => [:ro]},
18
19
  {:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Rusaliile - 51", :regions => [:ro]}],
19
20
  1 => [{:mday => 1, :name => "Anul nou", :regions => [:ro]},
20
- {:mday => 2, :name => "Anul nou", :regions => [:ro]}],
21
+ {:mday => 2, :name => "Anul nou", :regions => [:ro]},
22
+ {:mday => 24, :year_ranges => { :from => 2017 },:name => "Unirea Principatelor Române", :regions => [:ro]}],
21
23
  5 => [{:mday => 1, :name => "Ziua muncii", :regions => [:ro]}],
24
+ 6 => [{:mday => 1, :year_ranges => { :from => 2017 },:name => "Ziua Copilului", :regions => [:ro]}],
22
25
  8 => [{:mday => 15, :name => "Adormirea Maicii Domnului", :regions => [:ro]}],
23
26
  11 => [{:mday => 30, :name => "Sfântul Apostol Andrei", :regions => [:ro]}],
24
27
  12 => [{:mday => 1, :name => "Ziua Națională", :regions => [:ro]},
@@ -21,8 +21,8 @@ module Holidays
21
21
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Corpus Christi", :regions => [:br]},
22
22
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Viernes Santo", :regions => [:cl]},
23
23
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Sábado Santo", :regions => [:cl]},
24
- {:function => "st_peter_st_paul_cl(year)", :function_arguments => [:year], :year_ranges => [{:after => 2000}],:name => "San Pedro y San Pablo", :regions => [:cl]},
25
- {:function => "other_churches_day_cl(year)", :function_arguments => [:year], :year_ranges => [{:after => 2008}],:name => "Día de las Iglesias Evangélicas y Protestantes", :regions => [:cl]},
24
+ {:function => "st_peter_st_paul_cl(year)", :function_arguments => [:year], :year_ranges => { :from => 2000 },:name => "San Pedro y San Pablo", :regions => [:cl]},
25
+ {:function => "other_churches_day_cl(year)", :function_arguments => [:year], :year_ranges => { :from => 2008 },:name => "Día de las Iglesias Evangélicas y Protestantes", :regions => [:cl]},
26
26
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -3, :name => "Jueves Santo", :regions => [:co]},
27
27
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Viernes Santo", :regions => [:co]},
28
28
  {:function => "easter(year)", :function_arguments => [:year], :function_modifier => 43, :name => "Día de la Ascensión", :regions => [:co]},
@@ -58,7 +58,7 @@ module Holidays
58
58
  {:wday => 0, :week => 2, :type => :informal, :name => "Día de la Madre", :regions => [:pe]},
59
59
  {:mday => 1, :name => "Día del Trabajador", :regions => [:ve]}],
60
60
  6 => [{:mday => 20, :name => "Día de la Bandera", :regions => [:ar]},
61
- {:mday => 29, :year_ranges => [{:before => 1999}],:name => "San Pedro y San Pablo", :regions => [:cl]},
61
+ {:mday => 29, :year_ranges => { :until => 1999 },:name => "San Pedro y San Pablo", :regions => [:cl]},
62
62
  {:function => "saint_peter_and_saint_paul(year)", :function_arguments => [:year], :name => "San Pedro y San Pablo", :regions => [:co]},
63
63
  {:mday => 7, :type => :informal, :name => "Día de la Bandera", :regions => [:pe]},
64
64
  {:wday => 0, :week => 3, :type => :informal, :name => "Día del Padre", :regions => [:pe]},
@@ -80,8 +80,8 @@ module Holidays
80
80
  {:mday => 30, :name => "Santa Rosa de Lima", :regions => [:pe]}],
81
81
  10 => [{:mday => 12, :name => "Día del Respeto a la Diversidad Cultural", :regions => [:ar]},
82
82
  {:mday => 12, :name => "Dia de Nossa Senhora Aparecida", :regions => [:br]},
83
- {:mday => 12, :year_ranges => [{:before => 1999}],:name => "Encuentro de Dos Mundos", :regions => [:cl]},
84
- {:function => "columbus_day_cl(year)", :function_arguments => [:year], :year_ranges => [{:after => 2000}],:name => "Encuentro de Dos Mundos", :regions => [:cl]},
83
+ {:mday => 12, :year_ranges => { :until => 1999 },:name => "Encuentro de Dos Mundos", :regions => [:cl]},
84
+ {:function => "columbus_day_cl(year)", :function_arguments => [:year], :year_ranges => { :from => 2000 },:name => "Encuentro de Dos Mundos", :regions => [:cl]},
85
85
  {:function => "columbus_day(year)", :function_arguments => [:year], :name => "Día de la Raza", :regions => [:co]},
86
86
  {:mday => 8, :name => "Batalla de Angamos", :regions => [:pe]},
87
87
  {:mday => 12, :name => "Día de la Resistencia Indígena", :regions => [:ve]}],