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
@@ -14,128 +14,131 @@ months:
14
14
  0:
15
15
  - name: Jueves Santo
16
16
  regions: [es_pv, es_na, es_an, es_ib, es_cm, es_mu, es_m, es_ar, es_cl, es_cn, es_lo, es_ga, es_ce, es_o, es_ex]
17
- function: easter(year)-3
17
+ function: easter(year)
18
+ function_modifier: -3
18
19
  - name: Viernes Santo
19
20
  regions: [es]
20
- function: easter(year)-2
21
+ function: easter(year)
22
+ function_modifier: -2
21
23
  - name: Lunes de Pascua
22
24
  regions: [es_pv, es_ct, es_na, es_v, es_vc]
23
- function: easter(year)+1
25
+ function: easter(year)
26
+ function_modifier: 1
24
27
  1:
25
28
  - name: Año Nuevo
26
29
  regions: [es]
27
30
  mday: 1
28
- observed: to_monday_if_sunday
31
+ observed: to_monday_if_sunday(date)
29
32
  - name: Día de Reyes
30
33
  regions: [es]
31
34
  mday: 6
32
- observed: to_monday_if_sunday
35
+ observed: to_monday_if_sunday(date)
33
36
  2:
34
37
  - name: Día de Andalucía
35
38
  regions: [es_an]
36
39
  mday: 28
37
- observed: to_monday_if_sunday
40
+ observed: to_monday_if_sunday(date)
38
41
  3:
39
42
  - name: Día de las Islas Baleares
40
43
  regions: [es_ib]
41
44
  mday: 1
42
- observed: to_monday_if_sunday
45
+ observed: to_monday_if_sunday(date)
43
46
  - name: San José
44
47
  regions: [es_v, es_vc, es_cm, es_mu, es_m]
45
48
  mday: 19
46
- observed: to_monday_if_sunday
49
+ observed: to_monday_if_sunday(date)
47
50
  4:
48
51
  - name: Día de Castilla y León
49
52
  regions: [es_cl]
50
53
  mday: 23
51
- observed: to_monday_if_sunday
54
+ observed: to_monday_if_sunday(date)
52
55
  - name: San Jorge, Día de Aragón
53
56
  regions: [es_ar]
54
57
  mday: 23
55
- observed: to_monday_if_sunday
58
+ observed: to_monday_if_sunday(date)
56
59
  5:
57
60
  - name: Día del Trabajador
58
61
  regions: [es]
59
62
  mday: 1
60
- observed: to_monday_if_sunday
63
+ observed: to_monday_if_sunday(date)
61
64
  - name: Fiesta de la Comunidad
62
65
  regions: [es_m]
63
66
  mday: 2
64
- observed: to_monday_if_sunday
67
+ observed: to_monday_if_sunday(date)
65
68
  - name: Día de las Canarias
66
69
  regions: [es_cn]
67
70
  mday: 30
68
- observed: to_monday_if_sunday
71
+ observed: to_monday_if_sunday(date)
69
72
  - name: Día de la Región Castilla-La Mancha
70
73
  regions: [es_cm]
71
74
  mday: 31
72
- observed: to_monday_if_sunday
75
+ observed: to_monday_if_sunday(date)
73
76
  6:
74
77
  - name: Día de la Región de Murcia
75
78
  regions: [es_mu]
76
79
  mday: 9
77
- observed: to_monday_if_sunday
80
+ observed: to_monday_if_sunday(date)
78
81
  - name: Día de La Rioja
79
82
  regions: [es_lo]
80
83
  mday: 9
81
- observed: to_monday_if_sunday
84
+ observed: to_monday_if_sunday(date)
82
85
  7:
83
86
  - name: Santiago Apostol
84
87
  regions: [es_ga]
85
88
  mday: 23
86
- observed: to_monday_if_sunday
89
+ observed: to_monday_if_sunday(date)
87
90
  8:
88
91
  - name: Asunción
89
92
  regions: [es]
90
93
  mday: 15
91
- observed: to_monday_if_sunday
94
+ observed: to_monday_if_sunday(date)
92
95
  9:
93
96
  - name: Día de Ceuta
94
97
  regions: [es_ce]
95
98
  mday: 2
96
- observed: to_monday_if_sunday
99
+ observed: to_monday_if_sunday(date)
97
100
  - name: Día de Asturias
98
101
  regions: [es_o]
99
102
  mday: 8
100
- observed: to_monday_if_sunday
103
+ observed: to_monday_if_sunday(date)
101
104
  - name: Día de Extremadura
102
105
  regions: [es_ex]
103
106
  mday: 8
104
107
  - name: Fiesta Nacional de Cataluña
105
108
  regions: [es_ct]
106
109
  mday: 11
107
- observed: to_monday_if_sunday
110
+ observed: to_monday_if_sunday(date)
108
111
  10:
109
112
  - name: Día de Valencia
110
113
  regions: [es_vc, es_v]
111
114
  mday: 9
112
- observed: to_monday_if_sunday
115
+ observed: to_monday_if_sunday(date)
113
116
  - name: Día de la Hispanidad
114
117
  regions: [es]
115
118
  mday: 12
116
- observed: to_monday_if_sunday
119
+ observed: to_monday_if_sunday(date)
117
120
  11:
118
121
  - name: Todos los Santos
119
122
  regions: [es]
120
123
  mday: 1
121
- observed: to_monday_if_sunday
124
+ observed: to_monday_if_sunday(date)
122
125
  12:
123
126
  - name: Día de la Constitución
124
127
  regions: [es]
125
128
  mday: 6
126
- observed: to_monday_if_sunday
129
+ observed: to_monday_if_sunday(date)
127
130
  - name: Inmaculada Concepción
128
131
  regions: [es]
129
132
  mday: 8
130
- observed: to_monday_if_sunday
133
+ observed: to_monday_if_sunday(date)
131
134
  - name: Navidad del Señor
132
135
  regions: [es]
133
136
  mday: 25
134
- observed: to_monday_if_sunday
137
+ observed: to_monday_if_sunday(date)
135
138
  - name: San Esteban
136
139
  regions: [es_ib, es_ct]
137
140
  mday: 26
138
- observed: to_monday_if_sunday
141
+ observed: to_monday_if_sunday(date)
139
142
  tests: |
140
143
  {Date.civil(2009,1,1) => 'Año Nuevo',
141
144
  Date.civil(2009,1,6) => 'Día de Reyes',
@@ -1,7 +1,7 @@
1
1
  # Federal reserve holidays definition for the Ruby Holiday gem.
2
2
  #
3
3
  # Updated: 2015-03-16
4
- #
4
+ #
5
5
  # Sources:
6
6
  # - http://www.federalreserve.gov/aboutthefed/k8.htm
7
7
  ---
@@ -9,8 +9,8 @@ months:
9
9
  1:
10
10
  - name: New Year's Day
11
11
  regions: [federal_reserve]
12
- mday: 1
13
- observed: to_monday_if_sunday
12
+ mday: 1
13
+ observed: to_monday_if_sunday(date)
14
14
  - name: Birthday of Martin Luther King, Jr
15
15
  week: 3
16
16
  wday: 1
@@ -20,40 +20,40 @@ months:
20
20
  week: 3
21
21
  wday: 1
22
22
  regions: [federal_reserve]
23
- 5:
23
+ 5:
24
24
  - name: Memorial Day
25
25
  week: -1
26
26
  wday: 1
27
27
  regions: [federal_reserve]
28
- 7:
28
+ 7:
29
29
  - name: Independence Day
30
30
  regions: [federal_reserve]
31
31
  mday: 4
32
- observed: to_monday_if_sunday
33
- 9:
32
+ observed: to_monday_if_sunday(date)
33
+ 9:
34
34
  - name: Labor Day
35
35
  week: 1
36
36
  regions: [federal_reserve]
37
37
  wday: 1
38
- 10:
38
+ 10:
39
39
  - name: Columbus Day
40
40
  week: 2
41
41
  regions: [federal_reserve]
42
42
  wday: 1
43
- 11:
43
+ 11:
44
44
  - name: Veterans Day
45
45
  regions: [federal_reserve]
46
46
  mday: 11
47
- observed: to_monday_if_sunday
47
+ observed: to_monday_if_sunday(date)
48
48
  - name: Thanksgiving Day
49
49
  week: 4
50
50
  wday: 4
51
51
  regions: [federal_reserve]
52
- 12:
52
+ 12:
53
53
  - name: Christmas Day
54
54
  regions: [federal_reserve]
55
55
  mday: 25
56
- observed: to_monday_if_sunday
56
+ observed: to_monday_if_sunday(date)
57
57
  tests: |
58
58
  {Date.civil(2012,1,2) => "New Year's Day",
59
59
  Date.civil(2012,1,16) => "Birthday of Martin Luther King, Jr",
@@ -10,7 +10,7 @@ months:
10
10
  - name: New Year's Day
11
11
  regions: [fedex]
12
12
  mday: 1
13
- observed: to_weekday_if_weekend
13
+ observed: to_weekday_if_weekend(date)
14
14
  5:
15
15
  - name: Memorial Day
16
16
  week: -1
@@ -20,7 +20,7 @@ months:
20
20
  - name: Independence Day
21
21
  regions: [fedex]
22
22
  mday: 4
23
- observed: to_weekday_if_weekend
23
+ observed: to_weekday_if_weekend(date)
24
24
  9:
25
25
  - name: Labor Day
26
26
  week: 1
@@ -38,15 +38,15 @@ months:
38
38
  - name: Christmas Day
39
39
  regions: [fedex]
40
40
  mday: 25
41
- observed: to_weekday_if_weekend
41
+ observed: to_weekday_if_weekend(date)
42
42
  - name: New Year's Eve
43
43
  regions: [fedex]
44
44
  mday: 31
45
45
  methods:
46
- day_after_thanksgiving: |
47
- def self.day_after_thanksgiving(year)
46
+ day_after_thanksgiving:
47
+ arguments: year
48
+ source: |
48
49
  Holidays::DateCalculatorFactory.day_of_month_calculator.call(year, 11, 4, 4) + 1
49
- end
50
50
  tests: |
51
51
  {Date.civil(2015,1,1) => 'New Year\'s Day',
52
52
  Date.civil(2015,5,25) => 'Memorial Day',
@@ -3,36 +3,38 @@
3
3
  # Updated: 2010-12-28.
4
4
  # Sources:
5
5
  # - http://en.wikipedia.org/wiki/Public_holidays_in_Finland
6
- ---
6
+ ---
7
7
  months:
8
- 0:
8
+ 0:
9
9
  - name: Pitkäperjantai
10
10
  regions: [fi]
11
- function: easter(year)-2
11
+ function: easter(year)
12
+ function_modifier: -2
12
13
  - name: Pääsiäispäivä
13
14
  regions: [fi]
14
15
  function: easter(year)
15
16
  - name: 2. Pääsiäispäivä
16
17
  regions: [fi]
17
- function: easter(year)+1
18
+ function: easter(year)
19
+ function_modifier: 1
18
20
  - name: Helatorstai # Ascension Day
19
21
  regions: [fi]
20
- function: easter(year)+39
22
+ function: easter(year)
23
+ function_modifier: 39
21
24
  - name: Helluntaipäivä # Whitsunday
22
25
  regions: [fi]
23
- function: easter(year)+49
26
+ function: easter(year)
27
+ function_modifier: 49
24
28
  - name: Pyhäinpäivä # All Saint's Day
25
29
  regions: [fi]
26
30
  function: fi_pyhainpaiva(year)
27
-
28
- 1:
31
+ 1:
29
32
  - name: Uudenvuodenpäivä
30
33
  regions: [fi]
31
34
  mday: 1
32
35
  - name: Loppiainen
33
36
  regions: [fi]
34
37
  mday: 6
35
-
36
38
  5:
37
39
  - name: Vappu
38
40
  regions: [fi]
@@ -44,8 +46,7 @@ months:
44
46
  - name: Juhannuspäivä
45
47
  regions: [fi]
46
48
  function: fi_juhannuspaiva(year)
47
-
48
- 12:
49
+ 12:
49
50
  - name: Itsenäisyyspäivä
50
51
  regions: [fi]
51
52
  mday: 6
@@ -59,36 +60,36 @@ months:
59
60
  regions: [fi]
60
61
  mday: 26
61
62
  methods:
62
- fi_juhannusaatto: |
63
+ fi_juhannusaatto:
63
64
  # Finland: Mid-summer eve (Friday between June 19–25)
64
- def self.fi_juhannusaatto(year)
65
+ arguments: year
66
+ source: |
65
67
  date = Date.civil(year,6,19)
66
68
  if date.wday > 5 #if 19.6 is saturday
67
69
  date += 6
68
- else
70
+ else
69
71
  date += (5 - date.wday)
70
72
  end
71
73
  date
72
- end
73
- fi_juhannuspaiva: |
74
+ fi_juhannuspaiva:
74
75
  # Finland: Mid-summer (Saturday between June 20–26)
75
- def self.fi_juhannuspaiva(year)
76
+ arguments: year
77
+ source: |
76
78
  date = Date.civil(year,6,20)
77
79
  date += (6 - date.wday)
78
80
  date
79
- end
80
- fi_pyhainpaiva: |
81
+ fi_pyhainpaiva:
81
82
  # Finland: All Saint's Day (Saturday between Oct 31 and Nov 6)
82
- def self.fi_pyhainpaiva(year)
83
+ arguments: year
84
+ source: |
83
85
  date = Date.civil(year,10,31)
84
86
  date += (6 - date.wday)
85
87
  date
86
- end
87
88
  tests: |
88
- {Date.civil(2008,1,1) => 'Uudenvuodenpäivä',
89
+ {Date.civil(2008,1,1) => 'Uudenvuodenpäivä',
89
90
  Date.civil(2008,1,6) => 'Loppiainen',
90
- Date.civil(2008,3,21) => 'Pitkäperjantai',
91
- Date.civil(2008,3,23) => 'Pääsiäispäivä',
91
+ Date.civil(2008,3,21) => 'Pitkäperjantai',
92
+ Date.civil(2008,3,23) => 'Pääsiäispäivä',
92
93
  Date.civil(2008,3,24) => '2. Pääsiäispäivä',
93
94
  Date.civil(2008,5,1) => 'Vappu',
94
95
  Date.civil(2008,5,1) => 'Helatorstai',
@@ -111,4 +112,4 @@ tests: |
111
112
  Date.civil(2008,12,25) => 'Joulupäivä',
112
113
  Date.civil(2008,12,26) => 'Tapaninpäivä'}.each do |date, name|
113
114
  assert_equal name, (Holidays.on(date, :fi, :informal)[0] || {})[:name]
114
- end
115
+ end
@@ -13,17 +13,21 @@ months:
13
13
  type: informal
14
14
  - name: Lundi de Pâques
15
15
  regions: [fr]
16
- function: easter(year)+1
16
+ function: easter(year)
17
+ function_modifier: 1
17
18
  - name: Ascension
18
19
  regions: [fr]
19
- function: easter(year)+39
20
+ function: easter(year)
21
+ function_modifier: 39
20
22
  - name: Pentecôte
21
23
  regions: [fr]
22
- function: easter(year)+49
24
+ function: easter(year)
25
+ function_modifier: 49
23
26
  type: informal
24
27
  - name: Lundi de Pentecôte
25
28
  regions: [fr]
26
- function: easter(year)+50
29
+ function: easter(year)
30
+ function_modifier: 50
27
31
  1:
28
32
  - name: Jour de l'an
29
33
  regions: [fr]
@@ -15,22 +15,24 @@ months:
15
15
  0:
16
16
  - name: Good Friday
17
17
  regions: [gb]
18
- function: easter(year)-2
18
+ function: easter(year)
19
+ function_modifier: -2
19
20
  - name: Easter Sunday
20
21
  regions: [gb]
21
22
  function: easter(year)
22
23
  - name: Easter Monday
23
24
  regions: [gb_eng, gb_wls, gb_eaw, gb_nir]
24
- function: easter(year)+1
25
+ function: easter(year)
26
+ function_modifier: 1
25
27
  1:
26
28
  - name: New Year's Day
27
29
  regions: [gb]
28
30
  mday: 1
29
- observed: to_monday_if_weekend
31
+ observed: to_monday_if_weekend(date)
30
32
  - name: 2nd January
31
33
  regions: [gb_sct]
32
34
  mday: 2
33
- observed: to_weekday_if_boxing_weekend
35
+ observed: to_weekday_if_boxing_weekend(date)
34
36
  3:
35
37
  - name: St. Piran's Day
36
38
  regions: [gb_con]
@@ -75,16 +77,16 @@ months:
75
77
  regions: [gb_sct]
76
78
  mday: 30
77
79
  type: informal
78
- observed: to_monday_if_weekend
80
+ observed: to_monday_if_weekend(date)
79
81
  12:
80
82
  - name: Christmas Day
81
83
  regions: [gb]
82
84
  mday: 25
83
- observed: to_monday_if_weekend
85
+ observed: to_monday_if_weekend(date)
84
86
  - name: Boxing Day
85
87
  regions: [gb]
86
88
  mday: 26
87
- observed: to_weekday_if_boxing_weekend
89
+ observed: to_weekday_if_boxing_weekend(date)
88
90
  tests: |
89
91
  {Date.civil(2008,3,21) => 'Good Friday',
90
92
  Date.civil(2008,3,23) => 'Easter Sunday',