holidays 3.3.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
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