holidays 1.0.3 → 1.0.4

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 (49) hide show
  1. data/.travis.yml +8 -0
  2. data/CHANGELOG +3 -0
  3. data/Gemfile +8 -0
  4. data/data/build_defs.rb +12 -8
  5. data/data/index.yaml +3 -1
  6. data/data/li.yaml +102 -0
  7. data/data/pl.yaml +310 -0
  8. data/data/united_nations.yaml +186 -185
  9. data/holidays.gemspec +61 -11
  10. data/lib/holidays.rb +19 -2
  11. data/lib/holidays/MANIFEST +24 -23
  12. data/lib/holidays/at.rb +17 -13
  13. data/lib/holidays/au.rb +21 -17
  14. data/lib/holidays/br.rb +18 -14
  15. data/lib/holidays/ca.rb +27 -23
  16. data/lib/holidays/cz.rb +18 -14
  17. data/lib/holidays/de.rb +18 -14
  18. data/lib/holidays/dk.rb +20 -16
  19. data/lib/holidays/el.rb +17 -13
  20. data/lib/holidays/es.rb +27 -23
  21. data/lib/holidays/europe.rb +163 -95
  22. data/lib/holidays/fi.rb +20 -16
  23. data/lib/holidays/fr.rb +18 -14
  24. data/lib/holidays/gb.rb +20 -16
  25. data/lib/holidays/ie.rb +17 -13
  26. data/lib/holidays/is.rb +21 -17
  27. data/lib/holidays/it.rb +18 -14
  28. data/lib/holidays/jp.rb +54 -50
  29. data/lib/holidays/li.rb +48 -0
  30. data/lib/holidays/mx.rb +27 -23
  31. data/lib/holidays/nl.rb +16 -12
  32. data/lib/holidays/no.rb +14 -10
  33. data/lib/holidays/north_america.rb +47 -43
  34. data/lib/holidays/nyse.rb +17 -13
  35. data/lib/holidays/nz.rb +24 -20
  36. data/lib/holidays/pl.rb +80 -0
  37. data/lib/holidays/pt.rb +19 -15
  38. data/lib/holidays/scandinavia.rb +51 -47
  39. data/lib/holidays/se.rb +21 -17
  40. data/lib/holidays/united_nations.rb +68 -8
  41. data/lib/holidays/ups.rb +15 -11
  42. data/lib/holidays/us.rb +22 -18
  43. data/lib/holidays/za.rb +19 -15
  44. data/rakefile.rb +6 -4
  45. data/test/defs/test_defs_europe.rb +161 -1
  46. data/test/defs/test_defs_li.rb +35 -0
  47. data/test/defs/test_defs_pl.rb +145 -0
  48. data/test/test_all_regions.rb +48 -0
  49. metadata +190 -42
@@ -0,0 +1,80 @@
1
+ # encoding: utf-8
2
+ module Holidays
3
+ # This file is generated by the Ruby Holidays gem.
4
+ #
5
+ # Definitions loaded: data/pl.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/pl'
12
+ #
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
+ module PL # :nodoc:
15
+ def self.defined_regions
16
+ [:pl]
17
+ end
18
+
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-52 }, :function_id => "easter(year)-52", :type => :informal, :name => "Tłusty Czwartek", :regions => [:pl]},
22
+ {:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Ostatki", :regions => [:pl]},
23
+ {:function => lambda { |year| Holidays.easter(year)-46 }, :function_id => "easter(year)-46", :type => :informal, :name => "Środa Popielcowa", :regions => [:pl]},
24
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :type => :informal, :name => "Niedziela Palmowa", :regions => [:pl]},
25
+ {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :type => :informal, :name => "Wielki Czwartek", :regions => [:pl]},
26
+ {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :type => :informal, :name => "Wielki Piątek", :regions => [:pl]},
27
+ {:function => lambda { |year| Holidays.easter(year)-1 }, :function_id => "easter(year)-1", :type => :informal, :name => "Wielka Sobota", :regions => [:pl]},
28
+ {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Niedziela Wielkanocna", :regions => [:pl]},
29
+ {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Poniedziałek Wielkanocny (Lany Poniedziałek)", :regions => [:pl]},
30
+ {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Zesłanie Ducha Świętego (Zielone Świątki)", :regions => [:pl]},
31
+ {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Uroczystość Najświętszego Ciała i Krwi Pańskiej (Boże Ciało)", :regions => [:pl]}],
32
+ 1 => [{:mday => 1, :name => "Nowy Rok", :regions => [:pl]},
33
+ {:function => lambda { |year| Holidays.pl_trzech_kroli(year) }, :function_id => "pl_trzech_kroli(year)", :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
34
+ {:function => lambda { |year| Holidays.pl_trzech_kroli_informal(year) }, :function_id => "pl_trzech_kroli_informal(year)", :type => :informal, :name => "Objawienie Pańskie (święto Trzech Króli)", :regions => [:pl]},
35
+ {:mday => 21, :type => :informal, :name => "Dzień Babci", :regions => [:pl]},
36
+ {:mday => 22, :type => :informal, :name => "Dzień Dziadka", :regions => [:pl]}],
37
+ 2 => [{:mday => 2, :type => :informal, :name => "Ofiarowanie Pańskie (Matki Boskiej Gromnicznej)", :regions => [:pl]},
38
+ {:mday => 14, :type => :informal, :name => "Dzień Zakochanych (Walentynki)", :regions => [:pl]}],
39
+ 3 => [{:mday => 8, :type => :informal, :name => "Dzień Kobiet", :regions => [:pl]},
40
+ {:mday => 10, :type => :informal, :name => "Dzień Mężczyzn", :regions => [:pl]}],
41
+ 4 => [{:mday => 1, :type => :informal, :name => "Prima Aprilis", :regions => [:pl]},
42
+ {:mday => 22, :type => :informal, :name => "Międzynarodowy Dzień Ziemi", :regions => [:pl]}],
43
+ 5 => [{:mday => 1, :name => "Święto Państwowe (Święto Pracy)", :regions => [:pl]},
44
+ {:mday => 2, :type => :informal, :name => "Dzień Flagi Rzeczpospolitej Polskiej", :regions => [:pl]},
45
+ {:mday => 3, :name => "Święto Narodowe Trzeciego Maja", :regions => [:pl]}],
46
+ 6 => [{:mday => 23, :type => :informal, :name => "Dzień Ojca", :regions => [:pl]}],
47
+ 8 => [{:mday => 15, :name => "Wniebowzięcie Najświętszej Maryi Panny", :regions => [:pl]},
48
+ {:mday => 15, :name => "Święto Wojska Polskiego", :regions => [:pl]}],
49
+ 9 => [{:mday => 30, :type => :informal, :name => "Dzień Chłopaka", :regions => [:pl]}],
50
+ 10 => [{:mday => 14, :type => :informal, :name => "Dzień Nauczyciela (Dzień Edukacji Narodowej)", :regions => [:pl]}],
51
+ 11 => [{:mday => 1, :name => "Wszystkich Świętych", :regions => [:pl]},
52
+ {:mday => 2, :type => :informal, :name => "Dzień Zaduszny", :regions => [:pl]},
53
+ {:mday => 11, :name => "Narodowe Święto Niepodległości", :regions => [:pl]},
54
+ {:mday => 29, :type => :informal, :name => "Andrzejki", :regions => [:pl]}],
55
+ 12 => [{:mday => 4, :type => :informal, :name => "Barbórka (Dzień Górnika, Naftowca i Gazownika)", :regions => [:pl]},
56
+ {:mday => 6, :type => :informal, :name => "Mikołajki", :regions => [:pl]},
57
+ {:mday => 24, :type => :informal, :name => "Wigilia Bożego Narodzenia", :regions => [:pl]},
58
+ {:mday => 25, :name => "pierwszy dzień Bożego Narodzenia", :regions => [:pl]},
59
+ {:mday => 26, :name => "drugi dzień Bożego Narodzenia", :regions => [:pl]},
60
+ {:mday => 31, :type => :informal, :name => "Sylwester", :regions => [:pl]}]
61
+ }
62
+ end
63
+ end
64
+
65
+ # Poland: January 6 is holiday since 2011
66
+ def self.pl_trzech_kroli(year)
67
+ year >= 2011 ? 6 : nil
68
+ end
69
+
70
+
71
+ # Poland: January 6 wasn't holiday before 2011
72
+ def self.pl_trzech_kroli_informal(year)
73
+ year < 2011 ? 6 : nil
74
+ end
75
+
76
+
77
+
78
+ end
79
+
80
+ Holidays.merge_defs(Holidays::PL.defined_regions, Holidays::PL.holidays_by_month)
data/lib/holidays/pt.rb CHANGED
@@ -1,38 +1,42 @@
1
1
  # encoding: utf-8
2
2
  module Holidays
3
- # This file is generated by the Ruby Holiday gem.
3
+ # This file is generated by the Ruby Holidays gem.
4
4
  #
5
5
  # Definitions loaded: data/pt.yaml
6
6
  #
7
- # To use the definitions in this file, load them right after you load the
7
+ # To use the definitions in this file, load it right after you load the
8
8
  # Holiday gem:
9
9
  #
10
10
  # require 'holidays'
11
11
  # require 'holidays/pt'
12
12
  #
13
- # More definitions are available at http://code.dunae.ca/holidays.
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
14
  module PT # :nodoc:
15
- DEFINED_REGIONS = [:pt]
15
+ def self.defined_regions
16
+ [:pt]
17
+ end
16
18
 
17
- HOLIDAYS_BY_MONTH = {
18
- 5 => [{:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
19
- 0 => [{:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:pt]},
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-47 }, :function_id => "easter(year)-47", :type => :informal, :name => "Carnaval", :regions => [:pt]},
20
22
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Sexta-feira Santa", :regions => [:pt]},
21
23
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Páscoa", :regions => [:pt]},
22
24
  {:function => lambda { |year| Holidays.easter(year)+60 }, :function_id => "easter(year)+60", :name => "Corpo de Deus", :regions => [:pt]}],
23
- 11 => [{:mday => 1, :name => "Todos os Santos", :regions => [:pt]}],
24
- 6 => [{:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
25
25
  1 => [{:mday => 1, :name => "Ano Novo", :regions => [:pt]}],
26
+ 4 => [{:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
27
+ 5 => [{:mday => 1, :name => "Dia do Trabalhador", :regions => [:pt]}],
28
+ 6 => [{:mday => 10, :name => "Dia de Portugal", :regions => [:pt]}],
29
+ 8 => [{:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]}],
30
+ 10 => [{:mday => 5, :name => "Implantação da República", :regions => [:pt]}],
31
+ 11 => [{:mday => 1, :name => "Todos os Santos", :regions => [:pt]}],
26
32
  12 => [{:mday => 1, :name => "Restauração da Independência", :regions => [:pt]},
27
33
  {:mday => 8, :name => "Imaculada Conceição", :regions => [:pt]},
28
- {:mday => 25, :name => "Natal", :regions => [:pt]}],
29
- 8 => [{:mday => 15, :name => "Assunção de Nossa Senhora", :regions => [:pt]}],
30
- 4 => [{:mday => 25, :name => "Dia da Liberdade", :regions => [:pt]}],
31
- 10 => [{:mday => 5, :name => "Implantação da República", :regions => [:pt]}]
32
- }
34
+ {:mday => 25, :name => "Natal", :regions => [:pt]}]
35
+ }
36
+ end
33
37
  end
34
38
 
35
39
 
36
40
  end
37
41
 
38
- Holidays.merge_defs(Holidays::PT::DEFINED_REGIONS, Holidays::PT::HOLIDAYS_BY_MONTH)
42
+ Holidays.merge_defs(Holidays::PT.defined_regions, Holidays::PT.holidays_by_month)
@@ -1,29 +1,24 @@
1
1
  # encoding: utf-8
2
2
  module Holidays
3
- # This file is generated by the Ruby Holiday gem.
3
+ # This file is generated by the Ruby Holidays gem.
4
4
  #
5
5
  # Definitions loaded: data/dk.yaml, data/is.yaml, data/no.yaml, data/se.yaml, data/fi.yaml
6
6
  #
7
- # To use the definitions in this file, load them right after you load the
7
+ # To use the definitions in this file, load it right after you load the
8
8
  # Holiday gem:
9
9
  #
10
10
  # require 'holidays'
11
11
  # require 'holidays/scandinavia'
12
12
  #
13
- # More definitions are available at http://code.dunae.ca/holidays.
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
14
  module Scandinavia # :nodoc:
15
- DEFINED_REGIONS = [:dk, :no, :is, :se, :fi]
15
+ def self.defined_regions
16
+ [:dk, :no, :is, :se, :fi]
17
+ end
16
18
 
17
- HOLIDAYS_BY_MONTH = {
18
- 5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
19
- {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
20
- {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
21
- {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
22
- {:mday => 1, :name => "1. mai", :regions => [:no]},
23
- {:mday => 17, :name => "17. mai", :regions => [:no]},
24
- {:mday => 1, :name => "Första maj", :regions => [:se]},
25
- {:mday => 1, :name => "Vappu", :regions => [:fi]}],
26
- 0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]},
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk, :no]},
27
22
  {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk, :no]},
28
23
  {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
29
24
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Langfredag", :regions => [:dk, :no]},
@@ -60,16 +55,6 @@ module Holidays
60
55
  {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Helatorstai", :regions => [:fi]},
61
56
  {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Helluntaipäivä", :regions => [:fi]},
62
57
  {:function => lambda { |year| Holidays.fi_pyhainpaiva(year) }, :function_id => "fi_pyhainpaiva(year)", :name => "Pyhäinpäivä", :regions => [:fi]}],
63
- 11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
64
- {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
65
- 6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
66
- {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
67
- {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
68
- {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
69
- {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
70
- {:mday => 6, :name => "Nationaldagen", :regions => [:se]},
71
- {:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]},
72
- {:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
73
58
  1 => [{:mday => 1, :name => "Nytårsdag", :regions => [:dk]},
74
59
  {:mday => 1, :name => "Nýársdagur", :regions => [:is]},
75
60
  {:mday => 6, :name => "Þrettándinn", :regions => [:is]},
@@ -79,6 +64,28 @@ module Holidays
79
64
  {:mday => 6, :name => "Trettondedag jul", :regions => [:se]},
80
65
  {:mday => 1, :name => "Uudenvuodenpäivä", :regions => [:fi]},
81
66
  {:mday => 6, :name => "Loppiainen", :regions => [:fi]}],
67
+ 4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
68
+ {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
69
+ {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
70
+ {:function => lambda { |year| Holidays.is_sumardagurinn_fyrsti(year) }, :function_id => "is_sumardagurinn_fyrsti(year)", :name => "Sumardagurinn fyrsti", :regions => [:is]}],
71
+ 5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
72
+ {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
73
+ {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
74
+ {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
75
+ {:mday => 1, :name => "1. mai", :regions => [:no]},
76
+ {:mday => 17, :name => "17. mai", :regions => [:no]},
77
+ {:mday => 1, :name => "Första maj", :regions => [:se]},
78
+ {:mday => 1, :name => "Vappu", :regions => [:fi]}],
79
+ 6 => [{:mday => 5, :name => "Grundlovsdag", :regions => [:dk]},
80
+ {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
81
+ {:mday => 23, :type => :informal, :name => "Sankt Hans aften", :regions => [:dk]},
82
+ {:mday => 3, :type => :informal, :name => "Sjómannadagurinn", :regions => [:is]},
83
+ {:mday => 17, :name => "Lýðveldisdagurinn", :regions => [:is]},
84
+ {:mday => 6, :name => "Nationaldagen", :regions => [:se]},
85
+ {:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]},
86
+ {:function => lambda { |year| Holidays.fi_juhannuspaiva(year) }, :function_id => "fi_juhannuspaiva(year)", :name => "Juhannuspäivä", :regions => [:fi]}],
87
+ 11 => [{:mday => 10, :type => :informal, :name => "Mortensaften", :regions => [:dk]},
88
+ {:mday => 16, :name => "Dagur íslenskrar tungu", :regions => [:is]}],
82
89
  12 => [{:mday => 13, :type => :informal, :name => "Sankt Lucia", :regions => [:dk]},
83
90
  {:mday => 24, :name => "Juleaftensdag", :regions => [:dk]},
84
91
  {:mday => 25, :name => "1. juledag", :regions => [:dk, :no]},
@@ -96,30 +103,11 @@ module Holidays
96
103
  {:mday => 25, :name => "Joulupäivä", :regions => [:fi]},
97
104
  {:mday => 26, :name => "Tapaninpäivä", :regions => [:fi]}],
98
105
  2 => [{:mday => 18, :type => :informal, :name => "Konudagur", :regions => [:is]}],
99
- 8 => [{:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]}],
100
- 4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
101
- {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
102
- {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
103
- {:function => lambda { |year| Holidays.is_sumardagurinn_fyrsti(year) }, :function_id => "is_sumardagurinn_fyrsti(year)", :name => "Sumardagurinn fyrsti", :regions => [:is]}]
104
- }
106
+ 8 => [{:wday => 1, :week => 1, :name => "Frídagur verslunarmanna", :regions => [:is]}]
107
+ }
108
+ end
105
109
  end
106
110
 
107
- # Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
108
- def self.se_alla_helgons_dag(year)
109
- date = Date.civil(year,10,31)
110
- date += (6 - date.wday)
111
- date
112
- end
113
-
114
-
115
- # Finland: All Saint's Day (Saturday between Oct 31 and Nov 6)
116
- def self.fi_pyhainpaiva(year)
117
- date = Date.civil(year,10,31)
118
- date += (6 - date.wday)
119
- date
120
- end
121
-
122
-
123
111
  # Iceland: first day of summer (Thursday after 18 April)
124
112
  def self.is_sumardagurinn_fyrsti(year)
125
113
  date = Date.civil(year,4,18)
@@ -140,6 +128,14 @@ def self.se_midsommardagen(year)
140
128
  end
141
129
 
142
130
 
131
+ # Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
132
+ def self.se_alla_helgons_dag(year)
133
+ date = Date.civil(year,10,31)
134
+ date += (6 - date.wday)
135
+ date
136
+ end
137
+
138
+
143
139
  # Finland: Mid-summer (Saturday between June 20–26)
144
140
  def self.fi_juhannuspaiva(year)
145
141
  date = Date.civil(year,6,20)
@@ -148,7 +144,15 @@ def self.fi_juhannuspaiva(year)
148
144
  end
149
145
 
150
146
 
147
+ # Finland: All Saint's Day (Saturday between Oct 31 and Nov 6)
148
+ def self.fi_pyhainpaiva(year)
149
+ date = Date.civil(year,10,31)
150
+ date += (6 - date.wday)
151
+ date
152
+ end
153
+
154
+
151
155
 
152
156
  end
153
157
 
154
- Holidays.merge_defs(Holidays::Scandinavia::DEFINED_REGIONS, Holidays::Scandinavia::HOLIDAYS_BY_MONTH)
158
+ Holidays.merge_defs(Holidays::Scandinavia.defined_regions, Holidays::Scandinavia.holidays_by_month)
data/lib/holidays/se.rb CHANGED
@@ -1,47 +1,51 @@
1
1
  # encoding: utf-8
2
2
  module Holidays
3
- # This file is generated by the Ruby Holiday gem.
3
+ # This file is generated by the Ruby Holidays gem.
4
4
  #
5
5
  # Definitions loaded: data/se.yaml
6
6
  #
7
- # To use the definitions in this file, load them right after you load the
7
+ # To use the definitions in this file, load it right after you load the
8
8
  # Holiday gem:
9
9
  #
10
10
  # require 'holidays'
11
11
  # require 'holidays/se'
12
12
  #
13
- # More definitions are available at http://code.dunae.ca/holidays.
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
14
  module SE # :nodoc:
15
- DEFINED_REGIONS = [:se]
15
+ def self.defined_regions
16
+ [:se]
17
+ end
16
18
 
17
- HOLIDAYS_BY_MONTH = {
18
- 5 => [{:mday => 1, :name => "Första maj", :regions => [:se]}],
19
- 0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Långfredagen", :regions => [:se]},
19
+ def self.holidays_by_month
20
+ {
21
+ 0 => [{:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Långfredagen", :regions => [:se]},
20
22
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskdagen", :regions => [:se]},
21
23
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Annandag påsk", :regions => [:se]},
22
24
  {:function => lambda { |year| Holidays.easter(year)+39 }, :function_id => "easter(year)+39", :name => "Kristi himmelsfärdsdag", :regions => [:se]},
23
25
  {:function => lambda { |year| Holidays.easter(year)+49 }, :function_id => "easter(year)+49", :name => "Pingstdagen", :regions => [:se]},
24
26
  {:function => lambda { |year| Holidays.se_alla_helgons_dag(year) }, :function_id => "se_alla_helgons_dag(year)", :name => "Alla helgons dag", :regions => [:se]}],
25
- 6 => [{:mday => 6, :name => "Nationaldagen", :regions => [:se]},
26
- {:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]}],
27
27
  1 => [{:mday => 1, :name => "Nyårsdagen", :regions => [:se]},
28
28
  {:mday => 6, :name => "Trettondedag jul", :regions => [:se]}],
29
+ 5 => [{:mday => 1, :name => "Första maj", :regions => [:se]}],
30
+ 6 => [{:mday => 6, :name => "Nationaldagen", :regions => [:se]},
31
+ {:function => lambda { |year| Holidays.se_midsommardagen(year) }, :function_id => "se_midsommardagen(year)", :name => "Midsommardagen", :regions => [:se]}],
29
32
  12 => [{:mday => 25, :name => "Juldagen", :regions => [:se]},
30
33
  {:mday => 26, :name => "Annandag jul", :regions => [:se]}]
31
- }
34
+ }
35
+ end
32
36
  end
33
37
 
34
- # Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
35
- def self.se_alla_helgons_dag(year)
36
- date = Date.civil(year,10,31)
38
+ # Sweden: Mid-summer (Saturday between June 20–26)
39
+ def self.se_midsommardagen(year)
40
+ date = Date.civil(year,6,20)
37
41
  date += (6 - date.wday)
38
42
  date
39
43
  end
40
44
 
41
45
 
42
- # Sweden: Mid-summer (Saturday between June 20–26)
43
- def self.se_midsommardagen(year)
44
- date = Date.civil(year,6,20)
46
+ # Sweden: All Saint's Day (Saturday between Oct 31 and Nov 6)
47
+ def self.se_alla_helgons_dag(year)
48
+ date = Date.civil(year,10,31)
45
49
  date += (6 - date.wday)
46
50
  date
47
51
  end
@@ -50,4 +54,4 @@ end
50
54
 
51
55
  end
52
56
 
53
- Holidays.merge_defs(Holidays::SE::DEFINED_REGIONS, Holidays::SE::HOLIDAYS_BY_MONTH)
57
+ Holidays.merge_defs(Holidays::SE.defined_regions, Holidays::SE.holidays_by_month)
@@ -1,25 +1,85 @@
1
1
  # encoding: utf-8
2
2
  module Holidays
3
- # This file is generated by the Ruby Holiday gem.
3
+ # This file is generated by the Ruby Holidays gem.
4
4
  #
5
5
  # Definitions loaded: data/united_nations.yaml
6
6
  #
7
- # To use the definitions in this file, load them right after you load the
7
+ # To use the definitions in this file, load it right after you load the
8
8
  # Holiday gem:
9
9
  #
10
10
  # require 'holidays'
11
11
  # require 'holidays/united_nations'
12
12
  #
13
- # More definitions are available at http://code.dunae.ca/holidays.
13
+ # All the definitions are available at https://github.com/alexdunae/holidays
14
14
  module United_Nations # :nodoc:
15
- DEFINED_REGIONS = [:]
15
+ def self.defined_regions
16
+ [:united_nations]
17
+ end
16
18
 
17
- HOLIDAYS_BY_MONTH = {
18
-
19
- }
19
+ def self.holidays_by_month
20
+ {
21
+ 2 => [{:mday => 2, :name => "International Mother Language Day", :regions => [:united_nations]}],
22
+ 3 => [{:mday => 8, :name => "United Nations Day for Women's Rights and International Peace", :regions => [:united_nations]},
23
+ {:mday => 21, :name => "International Day for the Elimination of Racial Discrimination", :regions => [:united_nations]},
24
+ {:mday => 21, :name => "Beginning of the Week of Solidarity with the Peoples Struggling against Racism and Racial Discrimination", :regions => [:united_nations]},
25
+ {:mday => 22, :name => "World Day for Water", :regions => [:united_nations]},
26
+ {:mday => 23, :name => "World Meteorological Day", :regions => [:united_nations]}],
27
+ 4 => [{:mday => 7, :name => "World Health Day", :regions => [:united_nations]},
28
+ {:mday => 23, :name => "World Book and Copyright Day", :regions => [:united_nations]}],
29
+ 5 => [{:mday => 3, :name => "World Press Freedom Day", :regions => [:united_nations]},
30
+ {:mday => 15, :name => "International Day of Families", :regions => [:united_nations]},
31
+ {:mday => 17, :name => "World Telecommunication Day", :regions => [:united_nations]},
32
+ {:mday => 21, :name => "World Day for Cultural Diversity for Dialogue and Development", :regions => [:united_nations]},
33
+ {:mday => 22, :name => "International Day for Biological Diversity", :regions => [:united_nations]},
34
+ {:mday => 25, :name => "Beginning of the Week of Solidarity with the Peoples of Non-Self-Governing Territories", :regions => [:united_nations]},
35
+ {:mday => 29, :name => "International Day of United Nations Peacekeepers", :regions => [:united_nations]},
36
+ {:mday => 31, :name => "World No-Tobacco Day", :regions => [:united_nations]}],
37
+ 6 => [{:mday => 4, :name => "International Day of Innocent Children Victims of Aggression", :regions => [:united_nations]},
38
+ {:mday => 5, :name => "World Environment Day", :regions => [:united_nations]},
39
+ {:mday => 17, :name => "World Day to Combat Desertification and Drought", :regions => [:united_nations]},
40
+ {:mday => 20, :name => "World Refugee Day", :regions => [:united_nations]},
41
+ {:mday => 23, :name => "United Nations Public Service Day", :regions => [:united_nations]},
42
+ {:mday => 26, :name => "International Day against Drug Abuse and Illicit Trafficking", :regions => [:united_nations]},
43
+ {:mday => 26, :name => "International Day in Support of Victims of Torture", :regions => [:united_nations]}],
44
+ 7 => [{:wday => 6, :week => 1, :name => "International Day of Cooperatives", :regions => [:united_nations]},
45
+ {:mday => 11, :name => "World Population Day", :regions => [:united_nations]}],
46
+ 8 => [{:mday => 9, :name => "International Day of the World's Indigenous People", :regions => [:united_nations]},
47
+ {:mday => 12, :name => "International Youth Day", :regions => [:united_nations]},
48
+ {:mday => 23, :name => "International Day for the Remembrance of the Slave Trade and Its Abolition", :regions => [:united_nations]}],
49
+ 9 => [{:mday => 8, :name => "International Literacy Day", :regions => [:united_nations]},
50
+ {:mday => 16, :name => "International Day for the Preservation of the Ozone Layer", :regions => [:united_nations]},
51
+ {:mday => 21, :name => "International Day of Peace", :regions => [:united_nations]},
52
+ {:mday => 1, :name => "International Day of Older Persons", :regions => [:united_nations]}],
53
+ 10 => [{:mday => 4, :name => "World Space Week", :regions => [:united_nations]},
54
+ {:mday => 5, :name => "World Teachers' Day", :regions => [:united_nations]},
55
+ {:wday => 1, :week => 1, :name => "World Habitat Day", :regions => [:united_nations]},
56
+ {:wday => 3, :week => 2, :name => "International Day for Natural Disaster Reduction", :regions => [:united_nations]},
57
+ {:mday => 9, :name => "World Post Day", :regions => [:united_nations]},
58
+ {:mday => 10, :name => "World Mental Health Day", :regions => [:united_nations]},
59
+ {:mday => 16, :name => "World Food Day", :regions => [:united_nations]},
60
+ {:mday => 17, :name => "International Day for the Eradication of Poverty", :regions => [:united_nations]},
61
+ {:mday => 24, :name => "United Nations Day", :regions => [:united_nations]},
62
+ {:mday => 24, :name => "World Development Information Day", :regions => [:united_nations]},
63
+ {:mday => 24, :name => "Disarmament Week", :regions => [:united_nations]}],
64
+ 11 => [{:mday => 6, :name => "International Day for Preventing the Exploitation of the Environment in War and Armed Conflict", :regions => [:united_nations]},
65
+ {:mday => 16, :name => "International Day for Tolerance", :regions => [:united_nations]},
66
+ {:mday => 20, :name => "Africa Industrialization Day", :regions => [:united_nations]},
67
+ {:mday => 20, :name => "Universal Children's Day", :regions => [:united_nations]},
68
+ {:mday => 21, :name => "World Television Day", :regions => [:united_nations]},
69
+ {:mday => 25, :name => "International Day for the Elimination of Violence against Women", :regions => [:united_nations]},
70
+ {:mday => 29, :name => "International Day of Solidarity with the Palestinian People", :regions => [:united_nations]}],
71
+ 12 => [{:mday => 1, :name => "World AIDS Day", :regions => [:united_nations]},
72
+ {:mday => 2, :name => "International Day for the Abolition of Slavery", :regions => [:united_nations]},
73
+ {:mday => 3, :name => "International Day of Disabled Persons", :regions => [:united_nations]},
74
+ {:mday => 5, :name => "International Volunteer Day for Economic and Social Development", :regions => [:united_nations]},
75
+ {:mday => 7, :name => "International Civil Aviation Day", :regions => [:united_nations]},
76
+ {:mday => 10, :name => "Human Rights Day", :regions => [:united_nations]},
77
+ {:mday => 18, :name => "International Migrants Day", :regions => [:united_nations]}]
78
+ }
79
+ end
20
80
  end
21
81
 
22
82
 
23
83
  end
24
84
 
25
- Holidays.merge_defs(Holidays::United_Nations::DEFINED_REGIONS, Holidays::United_Nations::HOLIDAYS_BY_MONTH)
85
+ Holidays.merge_defs(Holidays::United_Nations.defined_regions, Holidays::United_Nations.holidays_by_month)