holidays 3.3.0 → 4.0.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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/CONTRIBUTING.md +37 -0
  4. data/README.md +16 -25
  5. data/REFERENCES +4 -1
  6. data/Rakefile +38 -8
  7. data/benchmark.rb +8 -0
  8. data/definitions/README.md +187 -8
  9. data/definitions/ar.yaml +2 -1
  10. data/definitions/at.yaml +17 -13
  11. data/definitions/au.yaml +65 -60
  12. data/definitions/be_fr.yaml +14 -10
  13. data/definitions/be_nl.yaml +8 -4
  14. data/definitions/bg.yaml +12 -6
  15. data/definitions/br.yaml +6 -3
  16. data/definitions/ca.yaml +8 -6
  17. data/definitions/ch.yaml +21 -15
  18. data/definitions/cl.yaml +4 -2
  19. data/definitions/cr.yaml +5 -3
  20. data/definitions/cz.yaml +4 -2
  21. data/definitions/de.yaml +25 -14
  22. data/definitions/dk.yaml +26 -17
  23. data/definitions/ecb_target.yaml +4 -2
  24. data/definitions/el.yaml +23 -18
  25. data/definitions/es.yaml +31 -28
  26. data/definitions/federal_reserve.yaml +12 -12
  27. data/definitions/fedex.yaml +6 -6
  28. data/definitions/fi.yaml +26 -25
  29. data/definitions/fr.yaml +8 -4
  30. data/definitions/gb.yaml +9 -7
  31. data/definitions/hr.yaml +8 -6
  32. data/definitions/hu.yaml +8 -6
  33. data/definitions/ie.yaml +17 -16
  34. data/definitions/index.yaml +1 -1
  35. data/definitions/is.yaml +29 -19
  36. data/definitions/it.yaml +10 -9
  37. data/definitions/jp.yaml +92 -44
  38. data/definitions/li.yaml +25 -20
  39. data/definitions/lt.yaml +2 -1
  40. data/definitions/ma.yaml +7 -7
  41. data/definitions/mx.yaml +11 -11
  42. data/definitions/nerc.yaml +6 -6
  43. data/definitions/nl.yaml +22 -18
  44. data/definitions/no.yaml +19 -11
  45. data/definitions/north_america_informal.yaml +6 -6
  46. data/definitions/nyse.yaml +9 -8
  47. data/definitions/nz.yaml +33 -29
  48. data/definitions/ph.yaml +15 -8
  49. data/definitions/pl.yaml +27 -17
  50. data/definitions/pt.yaml +4 -2
  51. data/definitions/ro.yaml +21 -18
  52. data/definitions/se.yaml +24 -18
  53. data/definitions/sg.yaml +10 -9
  54. data/definitions/si.yaml +4 -2
  55. data/definitions/sk.yaml +4 -2
  56. data/definitions/united_nations.yaml +12 -12
  57. data/definitions/ups.yaml +6 -6
  58. data/definitions/us.yaml +12 -11
  59. data/definitions/ve.yaml +8 -4
  60. data/definitions/vi.yaml +6 -6
  61. data/definitions/za.yaml +26 -24
  62. data/holidays.gemspec +3 -1
  63. data/lib/generated_definitions/MANIFEST +1 -1
  64. data/lib/generated_definitions/ar.rb +8 -6
  65. data/lib/generated_definitions/at.rb +11 -9
  66. data/lib/generated_definitions/au.rb +75 -99
  67. data/lib/generated_definitions/be.rb +12 -10
  68. data/lib/generated_definitions/be_fr.rb +12 -10
  69. data/lib/generated_definitions/be_nl.rb +12 -10
  70. data/lib/generated_definitions/bg.rb +14 -13
  71. data/lib/generated_definitions/br.rb +11 -9
  72. data/lib/generated_definitions/ca.rb +20 -20
  73. data/lib/generated_definitions/ch.rb +41 -44
  74. data/lib/generated_definitions/cl.rb +9 -7
  75. data/lib/generated_definitions/cr.rb +9 -7
  76. data/lib/generated_definitions/cz.rb +9 -6
  77. data/lib/generated_definitions/de.rb +25 -25
  78. data/lib/generated_definitions/dk.rb +17 -15
  79. data/lib/generated_definitions/ecb_target.rb +9 -7
  80. data/lib/generated_definitions/el.rb +13 -11
  81. data/lib/generated_definitions/es.rb +35 -33
  82. data/lib/generated_definitions/europe.rb +234 -247
  83. data/lib/generated_definitions/federal_reserve.rb +11 -9
  84. data/lib/generated_definitions/fedex.rb +42 -0
  85. data/lib/generated_definitions/fi.rb +32 -36
  86. data/lib/generated_definitions/fr.rb +12 -10
  87. data/lib/generated_definitions/gb.rb +15 -13
  88. data/lib/generated_definitions/hr.rb +10 -8
  89. data/lib/generated_definitions/hu.rb +9 -7
  90. data/lib/generated_definitions/ie.rb +17 -17
  91. data/lib/generated_definitions/is.rb +26 -26
  92. data/lib/generated_definitions/it.rb +9 -7
  93. data/lib/generated_definitions/jp.rb +112 -89
  94. data/lib/generated_definitions/li.rb +14 -12
  95. data/lib/generated_definitions/lt.rb +9 -7
  96. data/lib/generated_definitions/ma.rb +7 -5
  97. data/lib/generated_definitions/mx.rb +7 -5
  98. data/lib/generated_definitions/nerc.rb +10 -8
  99. data/lib/generated_definitions/nl.rb +15 -13
  100. data/lib/generated_definitions/no.rb +16 -14
  101. data/lib/generated_definitions/north_america.rb +34 -37
  102. data/lib/generated_definitions/nyse.rb +10 -8
  103. data/lib/generated_definitions/nz.rb +40 -40
  104. data/lib/generated_definitions/ph.rb +17 -13
  105. data/lib/generated_definitions/pl.rb +25 -27
  106. data/lib/generated_definitions/pt.rb +10 -8
  107. data/lib/generated_definitions/ro.rb +11 -9
  108. data/lib/generated_definitions/scandinavia.rb +92 -102
  109. data/lib/generated_definitions/se.rb +25 -27
  110. data/lib/generated_definitions/sg.rb +11 -9
  111. data/lib/generated_definitions/si.rb +10 -8
  112. data/lib/generated_definitions/sk.rb +9 -7
  113. data/lib/generated_definitions/united_nations.rb +7 -5
  114. data/lib/generated_definitions/ups.rb +13 -12
  115. data/lib/generated_definitions/us.rb +20 -21
  116. data/lib/generated_definitions/ve.rb +11 -9
  117. data/lib/generated_definitions/vi.rb +7 -5
  118. data/lib/generated_definitions/za.rb +19 -17
  119. data/lib/holidays.rb +20 -83
  120. data/lib/holidays/date_calculator/weekend_modifier.rb +22 -5
  121. data/lib/holidays/definition/context/generator.rb +67 -29
  122. data/lib/holidays/definition/context/merger.rb +8 -8
  123. data/lib/holidays/definition/decorator/custom_method_proc.rb +28 -0
  124. data/lib/holidays/definition/decorator/custom_method_source.rb +30 -0
  125. data/lib/holidays/definition/entity/custom_method.rb +11 -0
  126. data/lib/holidays/definition/parser/custom_method.rb +69 -0
  127. data/lib/holidays/definition/repository/custom_methods.rb +27 -0
  128. data/lib/holidays/definition/repository/holidays_by_month.rb +1 -1
  129. data/lib/holidays/definition/repository/{proc_cache.rb → proc_result_cache.rb} +19 -4
  130. data/lib/holidays/definition/validator/custom_method.rb +31 -0
  131. data/lib/holidays/definition_factory.rb +42 -6
  132. data/lib/holidays/errors.rb +6 -0
  133. data/lib/holidays/load_all_definitions.rb +57 -0
  134. data/lib/holidays/option/context/parse_options.rb +26 -16
  135. data/lib/holidays/option_factory.rb +1 -0
  136. data/lib/holidays/use_case/context/between.rb +41 -14
  137. data/lib/holidays/use_case_factory.rb +2 -1
  138. data/lib/holidays/version.rb +1 -1
  139. data/test/data/test_single_custom_holiday_with_custom_procs.yaml +24 -0
  140. data/test/defs/test_defs_at.rb +1 -1
  141. data/test/defs/test_defs_au.rb +3 -2
  142. data/test/defs/test_defs_cr.rb +1 -0
  143. data/test/defs/test_defs_cz.rb +1 -0
  144. data/test/defs/test_defs_dk.rb +2 -2
  145. data/test/defs/test_defs_el.rb +7 -6
  146. data/test/defs/test_defs_europe.rb +40 -33
  147. data/test/defs/test_defs_fedex.rb +24 -0
  148. data/test/defs/test_defs_fi.rb +4 -3
  149. data/test/defs/test_defs_hr.rb +2 -2
  150. data/test/defs/test_defs_hu.rb +2 -2
  151. data/test/defs/test_defs_is.rb +2 -1
  152. data/test/defs/test_defs_it.rb +2 -1
  153. data/test/defs/test_defs_jp.rb +1 -1
  154. data/test/defs/test_defs_li.rb +1 -1
  155. data/test/defs/test_defs_ma.rb +2 -1
  156. data/test/defs/test_defs_mx.rb +4 -3
  157. data/test/defs/test_defs_nl.rb +7 -6
  158. data/test/defs/test_defs_no.rb +1 -0
  159. data/test/defs/test_defs_north_america.rb +4 -3
  160. data/test/defs/test_defs_nyse.rb +2 -1
  161. data/test/defs/test_defs_pl.rb +1 -0
  162. data/test/defs/test_defs_ro.rb +11 -11
  163. data/test/defs/test_defs_scandinavia.rb +12 -8
  164. data/test/defs/test_defs_se.rb +3 -2
  165. data/test/defs/test_defs_sg.rb +2 -1
  166. data/test/defs/test_defs_vi.rb +1 -1
  167. data/test/defs/test_defs_za.rb +3 -2
  168. data/test/holidays/date_calculator/test_weekend_modifier.rb +11 -0
  169. data/test/holidays/definition/context/test_generator.rb +64 -5
  170. data/test/holidays/definition/context/test_merger.rb +5 -2
  171. data/test/holidays/definition/decorator/test_custom_method_proc.rb +113 -0
  172. data/test/holidays/definition/decorator/test_custom_method_source.rb +96 -0
  173. data/test/holidays/definition/parser/test_custom_method.rb +79 -0
  174. data/test/holidays/definition/repository/test_custom_methods.rb +43 -0
  175. data/test/holidays/definition/repository/test_holidays_by_month.rb +0 -32
  176. data/test/holidays/definition/repository/test_proc_result_cache.rb +84 -0
  177. data/test/holidays/definition/validator/test_custom_method.rb +89 -0
  178. data/test/holidays/option/context/test_parse_options.rb +5 -0
  179. data/test/holidays/test_definition_factory.rb +17 -2
  180. data/test/holidays/use_case/context/test_between.rb +2 -0
  181. data/test/test_all_regions.rb +7 -49
  182. data/test/test_custom_holidays.rb +8 -2
  183. data/test/test_helper.rb +9 -2
  184. data/test/test_holidays.rb +9 -29
  185. metadata +46 -11
  186. data/lib/generated_definitions/fed_ex.rb +0 -41
  187. data/test/holidays/definition/repository/test_proc_cache.rb +0 -29
  188. data/test/test_parse_definitions.rb +0 -30
@@ -3,59 +3,65 @@
3
3
  # Updated: 2011-10-17.
4
4
  # Sources:
5
5
  # http://www.tourismus.li/de/navpage-RegionLI-InformationLI-44728.html
6
- ---
6
+ ---
7
7
  months:
8
- 0:
8
+ 0:
9
9
  - name: Fasnachtsdienstag
10
10
  regions: [li]
11
- function: easter(year)-47
11
+ function: easter(year)
12
+ function_modifier: -47
12
13
  - name: Karfreitag
13
14
  regions: [li]
14
- function: easter(year)-2
15
+ function: easter(year)
16
+ function_modifier: -2
15
17
  - name: Ostern
16
18
  regions: [li]
17
19
  function: easter(year)
18
20
  type: informal
19
21
  - name: Ostermontag
20
22
  regions: [li]
21
- function: easter(year)+1
23
+ function: easter(year)
24
+ function_modifier: 1
22
25
  - name: Auffahrt
23
26
  regions: [li]
24
- function: easter(year)+39
27
+ function: easter(year)
28
+ function_modifier: 39
25
29
  - name: Pfingstmontag
26
30
  regions: [li]
27
- function: easter(year)+50
31
+ function: easter(year)
32
+ function_modifier: 50
28
33
  - name: Fronleichnam
29
34
  regions: [li]
30
- function: easter(year)+60
31
- 1:
35
+ function: easter(year)
36
+ function_modifier: 60
37
+ 1:
32
38
  - name: Neujahrstag
33
39
  regions: [li]
34
40
  mday: 1
35
41
  - name: Heilige Drei Könige
36
42
  regions: [li, li]
37
43
  mday: 6
38
- 2:
44
+ 2:
39
45
  - name: Maria Lichtmess
40
46
  regions: [li]
41
47
  mday: 2
42
- 3:
48
+ 3:
43
49
  - name: St. Josef
44
50
  regions: [li]
45
51
  mday: 19
46
- 5:
52
+ 5:
47
53
  - name: Tag der Arbeit
48
54
  regions: [li]
49
55
  mday: 1
50
- 8:
56
+ 8:
51
57
  - name: Staatsfeiertag
52
58
  regions: [li]
53
59
  mday: 15
54
- 9:
60
+ 9:
55
61
  - name: Maria Geburt
56
62
  regions: [li]
57
63
  mday: 8
58
- 11:
64
+ 11:
59
65
  - name: Allerheiligen
60
66
  regions: [li]
61
67
  mday: 1
@@ -76,7 +82,7 @@ months:
76
82
  regions: [li]
77
83
  mday: 31
78
84
  tests: |
79
- {Date.civil(2009,1,1) => 'Neujahrstag',
85
+ {Date.civil(2009,1,1) => 'Neujahrstag',
80
86
  Date.civil(2011,3,8) => 'Fasnachtsdienstag',
81
87
  Date.civil(2009,4,10) => 'Karfreitag',
82
88
  Date.civil(2009,4,12) => 'Ostern',
@@ -87,16 +93,15 @@ tests: |
87
93
  Date.civil(2009,12,26) => 'Stefanstag'}.each do |date, name|
88
94
  assert_equal name, Holidays.on(date, :li, :informal)[0][:name]
89
95
  end
90
-
96
+
91
97
  [:li].each do |r|
92
98
  assert_equal 'Fronleichnam', Holidays.on(Date.civil(2009,6,11), r)[0][:name]
93
99
  end
94
-
100
+
95
101
  [:li].each do |r|
96
102
  assert_equal 'Staatsfeiertag', Holidays.on(Date.civil(2009,8,15), r)[0][:name]
97
103
  end
98
-
104
+
99
105
  [:li].each do |r|
100
106
  assert_equal 'Allerheiligen', Holidays.on(Date.civil(2009,11,1), r)[0][:name]
101
107
  end
102
-
@@ -12,7 +12,8 @@ months:
12
12
  function: easter(year)
13
13
  - name: Antroji Velykų diena
14
14
  regions: [lt]
15
- function: easter(year)+1
15
+ function: easter(year)
16
+ function_modifier: 1
16
17
  1:
17
18
  - name: Naujieji metai
18
19
  regions: [lt]
@@ -4,16 +4,16 @@
4
4
  # Some dates in Islamic Calendar are missing.
5
5
  # Sources:
6
6
  # - http://en.wikipedia.org/wiki/Public_holidays_in_Morocco
7
- ---
7
+ ---
8
8
  months:
9
- 1:
9
+ 1:
10
10
  - name: Ras l' âm
11
11
  regions: [ma]
12
12
  mday: 1
13
13
  - name: Takdim watikat al-istiqlal
14
14
  regions: [ma]
15
15
  mday: 11
16
- 5:
16
+ 5:
17
17
  - name: Eid Ash-Shughl
18
18
  regions: [ma]
19
19
  mday: 1
@@ -21,7 +21,7 @@ months:
21
21
  - name: Eid Al-Ârch
22
22
  regions: [ma]
23
23
  mday: 30
24
- 8:
24
+ 8:
25
25
  - name: Zikra Oued Ed-Dahab
26
26
  regions: [ma]
27
27
  mday: 14
@@ -31,7 +31,7 @@ months:
31
31
  - name: Eid Al Milad
32
32
  regions: [ma]
33
33
  mday: 21
34
- 11:
34
+ 11:
35
35
  - name: Eid Al Massira Al Khadra
36
36
  regions: [ma]
37
37
  mday: 6
@@ -39,7 +39,7 @@ months:
39
39
  regions: [ma]
40
40
  mday: 18
41
41
  tests: |
42
- {Date.civil(2007,1,1) => 'Ras l\' âm',
42
+ {Date.civil(2007,1,1) => 'Ras l\' âm',
43
43
  Date.civil(2007,1,11) => 'Takdim watikat al-istiqlal',
44
44
  Date.civil(2007,5,1) => 'Eid Ash-Shughl',
45
45
  Date.civil(2007,7,30) => 'Eid Al-Ârch',
@@ -49,4 +49,4 @@ tests: |
49
49
  Date.civil(2007,11,6) => 'Eid Al Massira Al Khadra',
50
50
  Date.civil(2007,11,18) => 'Eid Al Istiqulal'}.each do |date, name|
51
51
  assert_equal name, (Holidays.on(date, :ma, :informal)[0] || {})[:name]
52
- end
52
+ end
@@ -3,21 +3,21 @@
3
3
  # Sources:
4
4
  # - http://www.britishembassy.gov.uk/servlet/Front?pagename=OpenMarket/Xcelerate/ShowPage&c=Page&cid=1125561634963
5
5
  # - http://www.usembassy-mexico.gov/eng/holidays.html
6
- ---
6
+ ---
7
7
  months:
8
- 1:
8
+ 1:
9
9
  - name: Año nuevo
10
10
  regions: [mx]
11
11
  mday: 1
12
12
  - name: Dia de los Santos Reyes
13
13
  regions: [mx]
14
14
  mday: 6
15
- 2:
15
+ 2:
16
16
  - name: Día de la Constitución
17
17
  week: 1
18
18
  regions: [mx]
19
19
  wday: 1
20
- 3:
20
+ 3:
21
21
  - name: Natalicio de Benito Juárez
22
22
  week: 3
23
23
  regions: [mx]
@@ -27,7 +27,7 @@ months:
27
27
  regions: [mx]
28
28
  mday: 30
29
29
  type: informal
30
- 5:
30
+ 5:
31
31
  - name: Día del Trabajo
32
32
  regions: [mx]
33
33
  mday: 1
@@ -59,12 +59,12 @@ months:
59
59
  - name: Día de la Independencia
60
60
  regions: [mx]
61
61
  mday: 16
62
- 10:
62
+ 10:
63
63
  - name: Día de la Raza
64
64
  regions: [mx]
65
65
  mday: 12
66
66
  type: informal
67
- 11:
67
+ 11:
68
68
  - name: Todos los Santos
69
69
  regions: [mx]
70
70
  mday: 1
@@ -77,7 +77,7 @@ months:
77
77
  week: 3
78
78
  regions: [mx]
79
79
  wday: 1
80
- 12:
80
+ 12:
81
81
  - name: Día de la Virgen de Guadalupe
82
82
  regions: [mx]
83
83
  mday: 12
@@ -93,8 +93,8 @@ months:
93
93
  regions: [mx]
94
94
  mday: 28
95
95
  tests: |
96
- {Date.civil(2007,1,1) => 'Año nuevo',
97
- Date.civil(2007,2,5) => 'Día de la Constitución',
96
+ {Date.civil(2007,1,1) => 'Año nuevo',
97
+ Date.civil(2007,2,5) => 'Día de la Constitución',
98
98
  Date.civil(2007,5,1) => 'Día del Trabajo',
99
99
  Date.civil(2007,5,5) => 'Cinco de Mayo',
100
100
  Date.civil(2007,9,16) => 'Día de la Independencia',
@@ -103,4 +103,4 @@ tests: |
103
103
  Date.civil(2007,11,19) => 'Día de la Revolución',
104
104
  Date.civil(2007,12,25) => 'Navidad'}.each do |date, name|
105
105
  assert_equal name, (Holidays.on(date, :mx, :informal)[0] || {})[:name]
106
- end
106
+ end
@@ -10,18 +10,18 @@ months:
10
10
  - name: New Year's Day
11
11
  regions: [nerc]
12
12
  mday: 1
13
- observed: to_monday_if_sunday
13
+ observed: to_monday_if_sunday(date)
14
14
  5:
15
15
  - name: Memorial Day
16
16
  week: -1
17
17
  regions: [nerc]
18
18
  wday: 1
19
- 7:
19
+ 7:
20
20
  - name: Independence Day
21
21
  regions: [nerc]
22
22
  mday: 4
23
- observed: to_monday_if_sunday
24
- 9:
23
+ observed: to_monday_if_sunday(date)
24
+ 9:
25
25
  - name: Labor Day
26
26
  week: 1
27
27
  regions: [nerc]
@@ -31,11 +31,11 @@ months:
31
31
  week: 4
32
32
  regions: [nerc]
33
33
  wday: 4
34
- 12:
34
+ 12:
35
35
  - name: Christmas Day
36
36
  regions: [nerc]
37
37
  mday: 25
38
- observed: to_monday_if_sunday
38
+ observed: to_monday_if_sunday(date)
39
39
  methods:
40
40
  tests: |
41
41
  {Date.civil(2013,1,1) => 'New Year\'s Day',
@@ -3,29 +3,33 @@
3
3
  # Updated: 2014-04-17.
4
4
  # Sources:
5
5
  # - http://en.wikipedia.org/wiki/Public_holidays_in_the_Netherlands
6
- # - http://www.buyusa.gov/netherlands/en/dutch_holidays.html
7
6
  ---
8
7
  months:
9
8
  0:
10
9
  - name: Goede Vrijdag
11
10
  regions: [nl]
12
- function: easter(year)-2
11
+ function: easter(year)
12
+ function_modifier: -2
13
13
  type: informal
14
- - name: Pasen
14
+ - name: Eerste Pasen
15
15
  regions: [nl]
16
16
  function: easter(year)
17
- - name: Pasen
17
+ - name: Tweede Pasen
18
18
  regions: [nl]
19
- function: easter(year)+1
19
+ function: easter(year)
20
+ function_modifier: 1
20
21
  - name: Hemelvaartsdag
21
22
  regions: [nl]
22
- function: easter(year)+39
23
- - name: Pinksteren
23
+ function: easter(year)
24
+ function_modifier: 39
25
+ - name: Eerste Pinksteren
24
26
  regions: [nl]
25
- function: easter(year)+49
26
- - name: Pinksteren
27
+ function: easter(year)
28
+ function_modifier: 49
29
+ - name: Tweede Pinksteren
27
30
  regions: [nl]
28
- function: easter(year)+50
31
+ function: easter(year)
32
+ function_modifier: 50
29
33
  1:
30
34
  - name: Nieuwjaar
31
35
  regions: [nl]
@@ -47,23 +51,23 @@ months:
47
51
  regions: [nl]
48
52
  mday: 5
49
53
  type: informal
50
- - name: Kerstmis
54
+ - name: Eerste Kerstmis
51
55
  regions: [nl]
52
56
  mday: 25
53
- - name: Kerstmis
57
+ - name: Tweede Kerstmis
54
58
  regions: [nl]
55
59
  mday: 26
56
60
  tests: |
57
61
  {Date.civil(2008,1,1) => 'Nieuwjaar',
58
62
  Date.civil(2008,3,21) => 'Goede Vrijdag',
59
- Date.civil(2008,3,23) => 'Pasen',
60
- Date.civil(2008,3,24) => 'Pasen',
63
+ Date.civil(2008,3,23) => 'Eerste Pasen',
64
+ Date.civil(2008,3,24) => 'Tweede Pasen',
61
65
  Date.civil(2008,4,27) => 'Koningsdag',
62
66
  Date.civil(2008,5,1) => 'Hemelvaartsdag', # Ascension, Easter+39
63
67
  Date.civil(2008,5,5) => 'Bevrijdingsdag',
64
- Date.civil(2008,5,11) => 'Pinksteren', # Pentecost, Easter+49
65
- Date.civil(2008,5,12) => 'Pinksteren', # Pentecost, Easter+50
66
- Date.civil(2008,12,25) => 'Kerstmis',
67
- Date.civil(2008,12,26) => 'Kerstmis'}.each do |date, name|
68
+ Date.civil(2008,5,11) => 'Eerste Pinksteren', # Pentecost, Easter+49
69
+ Date.civil(2008,5,12) => 'Tweede Pinksteren', # Pentecost, Easter+50
70
+ Date.civil(2008,12,25) => 'Eerste Kerstmis',
71
+ Date.civil(2008,12,26) => 'Tweede Kerstmis'}.each do |date, name|
68
72
  assert_equal name, (Holidays.on(date, :nl, :informal)[0] || {})[:name]
69
73
  end
@@ -4,38 +4,46 @@
4
4
  # Sources:
5
5
  # - http://no.wikipedia.org/wiki/Offentlig_fridag
6
6
  # - http://www.timeanddate.com/norsk/kalender.html
7
- ---
7
+ ---
8
8
  months:
9
9
  0:
10
10
  - name: Fastelavn
11
11
  regions: ["no"]
12
- function: easter(year)-49
12
+ function: easter(year)
13
+ function_modifier: -49
13
14
  type: informal
14
15
  - name: Palmesøndag
15
16
  regions: ["no"]
16
- function: easter(year)-7
17
+ function: easter(year)
18
+ function_modifier: -7
17
19
  - name: Skjærtorsdag
18
20
  regions: ["no"]
19
- function: easter(year)-3
21
+ function: easter(year)
22
+ function_modifier: -3
20
23
  - name: Langfredag
21
24
  regions: ["no"]
22
- function: easter(year)-2
25
+ function: easter(year)
26
+ function_modifier: -2
23
27
  - name: 1. påskedag
24
28
  regions: ["no"]
25
29
  function: easter(year)
26
30
  - name: 2. påskedag
27
31
  regions: ["no"]
28
- function: easter(year)+1
32
+ function: easter(year)
33
+ function_modifier: 1
29
34
  - name: Kristi Himmelfartsdag
30
35
  regions: ["no"]
31
- function: easter(year)+39
36
+ function: easter(year)
37
+ function_modifier: 39
32
38
  - name: 1. pinsedag
33
39
  regions: ["no"]
34
- function: easter(year)+49
40
+ function: easter(year)
41
+ function_modifier: 49
35
42
  - name: 2. pinsedag
36
43
  regions: ["no"]
37
- function: easter(year)+50
38
- 1:
44
+ function: easter(year)
45
+ function_modifier: 50
46
+ 1:
39
47
  - name: Nyttårsdag
40
48
  regions: ["no"]
41
49
  mday: 1
@@ -79,4 +87,4 @@ tests: |
79
87
  Date.civil(2010,5,23) => '1. pinsedag',
80
88
  Date.civil(2010,5,24) => '2. pinsedag'}.each do |date, name|
81
89
  assert_equal name, (Holidays.on(date, :no, :informal)[0] || {})[:name]
82
- end
90
+ end
@@ -1,8 +1,8 @@
1
1
  # Informal North American holiday definitions for the Ruby Holiday gem.
2
2
  # Updated 2008-11-22.
3
- ---
3
+ ---
4
4
  months:
5
- 2:
5
+ 2:
6
6
  - name: Groundhog Day
7
7
  regions: [us, ca]
8
8
  mday: 2
@@ -11,12 +11,12 @@ months:
11
11
  regions: [us, ca]
12
12
  mday: 14
13
13
  type: informal
14
- 3:
14
+ 3:
15
15
  - name: St. Patrick's Day
16
16
  regions: [us, ca]
17
17
  mday: 17
18
18
  type: informal
19
- 4:
19
+ 4:
20
20
  - name: April Fool's Day
21
21
  regions: [us, ca]
22
22
  mday: 1
@@ -25,7 +25,7 @@ months:
25
25
  regions: [us, ca]
26
26
  mday: 22
27
27
  type: informal
28
- 5:
28
+ 5:
29
29
  - name: Mother's Day
30
30
  week: 2
31
31
  regions: [us, ca]
@@ -42,7 +42,7 @@ months:
42
42
  regions: [us, ca]
43
43
  wday: 0
44
44
  type: informal
45
- 10:
45
+ 10:
46
46
  - name: Halloween
47
47
  regions: [us, ca]
48
48
  mday: 31