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
@@ -10,15 +10,16 @@
10
10
  # http://publicholidays.sg/
11
11
 
12
12
  months:
13
- 0:
13
+ 0:
14
14
  - name: Good Friday
15
15
  regions: [sg]
16
- function: easter(year)-2
17
- 1:
16
+ function: easter(year)
17
+ function_modifier: -2
18
+ 1:
18
19
  - name: New Year's Day
19
20
  regions: [sg]
20
21
  mday: 1
21
- observed: to_weekday_if_weekend
22
+ observed: to_weekday_if_weekend(date)
22
23
  2:
23
24
  - name: Valentine's Day
24
25
  regions: [sg]
@@ -36,15 +37,15 @@ months:
36
37
  - name: National Day
37
38
  regions: [sg]
38
39
  mday: 9
39
- observed: to_weekday_if_weekend
40
- 12:
40
+ observed: to_weekday_if_weekend(date)
41
+ 12:
41
42
  - name: Christmas Day
42
43
  regions: [sg]
43
44
  mday: 25
44
- observed: to_weekday_if_weekend
45
+ observed: to_weekday_if_weekend(date)
45
46
 
46
47
  tests: |
47
- {Date.civil(2014,1,1) => 'New Year\'s Day',
48
+ {Date.civil(2014,1,1) => 'New Year\'s Day',
48
49
  Date.civil(2014,2,14) => 'Valentine\'s Day',
49
50
  Date.civil(2014,2,15) => 'Total Defence Day',
50
51
  Date.civil(2014,4,18) => 'Good Friday',
@@ -52,4 +53,4 @@ tests: |
52
53
  Date.civil(2014,8,9) => 'National Day',
53
54
  Date.civil(2014,12,25) => 'Christmas Day'}.each do |date, name|
54
55
  assert_equal name, (Holidays.on(date, :sg, :informal)[0] || {})[:name]
55
- end
56
+ end
@@ -11,10 +11,12 @@ months:
11
11
  function: easter(year)
12
12
  - name: velikonočni ponedeljek
13
13
  regions: [si]
14
- function: easter(year)+1
14
+ function: easter(year)
15
+ function_modifier: 1
15
16
  - name: binkošti
16
17
  regions: [si]
17
- function: easter(year)+49
18
+ function: easter(year)
19
+ function_modifier: 49
18
20
  1:
19
21
  - name: novo leto
20
22
  regions: [si]
@@ -8,10 +8,12 @@ months:
8
8
  0:
9
9
  - name: Veľkonočný pondelok
10
10
  regions: [sk]
11
- function: easter(year)+1
11
+ function: easter(year)
12
+ function_modifier: 1
12
13
  - name: Veľký piatok
13
14
  regions: [sk]
14
- function: easter(year)-2
15
+ function: easter(year)
16
+ function_modifier: -2
15
17
  1:
16
18
  - name: Nový rok
17
19
  regions: [sk]
@@ -1,12 +1,12 @@
1
1
  # United Nationas holiday definitions for the Ruby Holiday gem.
2
2
  # Updated 2008-11-21.
3
- ---
3
+ ---
4
4
  months:
5
- 2:
5
+ 2:
6
6
  - name: International Mother Language Day
7
7
  regions: [united_nations]
8
8
  mday: 2
9
- 3:
9
+ 3:
10
10
  - name: United Nations Day for Women's Rights and International Peace
11
11
  regions: [united_nations]
12
12
  mday: 8
@@ -22,14 +22,14 @@ months:
22
22
  - name: World Meteorological Day
23
23
  regions: [united_nations]
24
24
  mday: 23
25
- 4:
25
+ 4:
26
26
  - name: World Health Day
27
27
  regions: [united_nations]
28
28
  mday: 7
29
29
  - name: World Book and Copyright Day
30
30
  regions: [united_nations]
31
31
  mday: 23
32
- 5:
32
+ 5:
33
33
  - name: World Press Freedom Day
34
34
  regions: [united_nations]
35
35
  mday: 3
@@ -54,7 +54,7 @@ months:
54
54
  - name: World No-Tobacco Day
55
55
  regions: [united_nations]
56
56
  mday: 31
57
- 6:
57
+ 6:
58
58
  - name: International Day of Innocent Children Victims of Aggression
59
59
  regions: [united_nations]
60
60
  mday: 4
@@ -76,7 +76,7 @@ months:
76
76
  - name: International Day in Support of Victims of Torture
77
77
  regions: [united_nations]
78
78
  mday: 26
79
- 7:
79
+ 7:
80
80
  - name: International Day of Cooperatives
81
81
  week: 1
82
82
  regions: [united_nations]
@@ -84,7 +84,7 @@ months:
84
84
  - name: World Population Day
85
85
  regions: [united_nations]
86
86
  mday: 11
87
- 8:
87
+ 8:
88
88
  - name: International Day of the World's Indigenous People
89
89
  regions: [united_nations]
90
90
  mday: 9
@@ -94,7 +94,7 @@ months:
94
94
  - name: International Day for the Remembrance of the Slave Trade and Its Abolition
95
95
  regions: [united_nations]
96
96
  mday: 23
97
- 9:
97
+ 9:
98
98
  - name: International Literacy Day
99
99
  regions: [united_nations]
100
100
  mday: 8
@@ -107,7 +107,7 @@ months:
107
107
  - name: International Day of Older Persons
108
108
  regions: [united_nations]
109
109
  mday: 1
110
- 10:
110
+ 10:
111
111
  - name: World Space Week
112
112
  regions: [united_nations]
113
113
  mday: 4
@@ -143,7 +143,7 @@ months:
143
143
  - name: Disarmament Week
144
144
  regions: [united_nations]
145
145
  mday: 24
146
- 11:
146
+ 11:
147
147
  - name: International Day for Preventing the Exploitation of the Environment in War and Armed Conflict
148
148
  regions: [united_nations]
149
149
  mday: 6
@@ -165,7 +165,7 @@ months:
165
165
  - name: International Day of Solidarity with the Palestinian People
166
166
  regions: [united_nations]
167
167
  mday: 29
168
- 12:
168
+ 12:
169
169
  - name: World AIDS Day
170
170
  regions: [united_nations]
171
171
  mday: 1
@@ -10,7 +10,7 @@ months:
10
10
  - name: New Year's Day
11
11
  regions: [ups]
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: [ups]
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: [ups]
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: [ups]
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(2008,1,1) => 'New Year\'s Day',
52
52
  Date.civil(2008,5,26) => 'Memorial Day',
@@ -7,7 +7,8 @@ months:
7
7
  0:
8
8
  - name: Good Friday
9
9
  regions: [us]
10
- function: easter(year)-2
10
+ function: easter(year)
11
+ function_modifier: -2
11
12
  type: informal
12
13
  - name: Easter Sunday
13
14
  regions: [us]
@@ -17,7 +18,7 @@ months:
17
18
  - name: New Year's Day
18
19
  regions: [us]
19
20
  mday: 1
20
- observed: to_weekday_if_weekend
21
+ observed: to_weekday_if_weekend(date)
21
22
  - name: Martin Luther King, Jr. Day
22
23
  week: 3
23
24
  regions: [us]
@@ -43,7 +44,7 @@ months:
43
44
  - name: Independence Day
44
45
  regions: [us]
45
46
  mday: 4
46
- observed: to_weekday_if_weekend
47
+ observed: to_weekday_if_weekend(date)
47
48
  9:
48
49
  - name: Labor Day
49
50
  week: 1
@@ -58,7 +59,7 @@ months:
58
59
  - name: Veterans Day
59
60
  regions: [us]
60
61
  mday: 11
61
- observed: to_weekday_if_weekend
62
+ observed: to_weekday_if_weekend(date)
62
63
  - name: Thanksgiving
63
64
  week: 4
64
65
  regions: [us]
@@ -70,17 +71,17 @@ months:
70
71
  - name: Christmas Day
71
72
  regions: [us]
72
73
  mday: 25
73
- observed: to_weekday_if_weekend
74
+ observed: to_weekday_if_weekend(date)
74
75
  methods:
75
- us_inauguration_day: |
76
+ us_inauguration_day:
76
77
  # January 20, every fourth year, following Presidential election
77
- def self.us_inauguration_day(year)
78
+ arguments: year
79
+ source: |
78
80
  year % 4 == 1 ? 20 : nil
79
- end
80
- day_after_thanksgiving: |
81
- def self.day_after_thanksgiving(year)
81
+ day_after_thanksgiving:
82
+ arguments: year
83
+ source: |
82
84
  Holidays::DateCalculatorFactory.day_of_month_calculator.call(year, 11, 4, 4) + 1
83
- end
84
85
  tests: |
85
86
  {Date.civil(2008,1,1) => 'New Year\'s Day',
86
87
  Date.civil(2008,1,21) => 'Martin Luther King, Jr. Day',
@@ -9,16 +9,20 @@ months:
9
9
  0:
10
10
  - name: Lunes Carnaval
11
11
  regions: [ve]
12
- function: easter(year)-48
12
+ function: easter(year)
13
+ function_modifier: -48
13
14
  - name: Martes Carnaval
14
15
  regions: [ve]
15
- function: easter(year)-47
16
+ function: easter(year)
17
+ function_modifier: -47
16
18
  - name: Jueves Santo
17
19
  regions: [ve]
18
- function: easter(year)-3
20
+ function: easter(year)
21
+ function_modifier: -3
19
22
  - name: Viernes Santo
20
23
  regions: [ve]
21
- function: easter(year)-2
24
+ function: easter(year)
25
+ function_modifier: -2
22
26
  1:
23
27
  - name: Año Nuevo
24
28
  regions: [ve]
@@ -2,26 +2,26 @@
2
2
  #
3
3
  # Updated: 2014-07-17.
4
4
  # Source: http://en.wikipedia.org/wiki/Public_holidays_in_Vietnam
5
- ---
5
+ ---
6
6
  months:
7
- 1:
7
+ 1:
8
8
  - name: New Year
9
9
  regions: [vi]
10
10
  mday: 1
11
- 4:
11
+ 4:
12
12
  - name: Liberation Day
13
13
  regions: [vi]
14
14
  mday: 30
15
- 5:
15
+ 5:
16
16
  - name: International Workers' Day
17
17
  regions: [vi]
18
18
  mday: 1
19
- 9:
19
+ 9:
20
20
  - name: National Day
21
21
  regions: [vi]
22
22
  mday: 2
23
23
  tests: |
24
- {Date.civil(2014,1,1) => 'New Year',
24
+ {Date.civil(2014,1,1) => 'New Year',
25
25
  Date.civil(2014,4,30) => 'Liberation Day',
26
26
  Date.civil(2014,5,1) => "International Workers' Day",
27
27
  Date.civil(2014,9,2) => 'National Day'}.each do |date, name|
@@ -4,66 +4,68 @@
4
4
  # Sources:
5
5
  # - http://en.wikipedia.org/wiki/Public_holidays_in_South_Africa
6
6
  # - http://www.info.gov.za/aboutsa/holidays.htm
7
- ---
7
+ ---
8
8
  months:
9
- 0:
9
+ 0:
10
10
  - name: Good Friday
11
11
  regions: [za]
12
- function: easter(year)-2
12
+ function: easter(year)
13
+ function_modifier: -2
13
14
  - name: Family Day
14
15
  regions: [za]
15
- function: easter(year)+1
16
- 1:
16
+ function: easter(year)
17
+ function_modifier: 1
18
+ 1:
17
19
  - name: New Year's Day
18
20
  regions: [za]
19
21
  mday: 1
20
- observed: to_monday_if_sunday
21
- 3:
22
+ observed: to_monday_if_sunday(date)
23
+ 3:
22
24
  - name: Human Rights Day
23
25
  regions: [za]
24
26
  mday: 21
25
- observed: to_monday_if_sunday
26
- 4:
27
+ observed: to_monday_if_sunday(date)
28
+ 4:
27
29
  - name: Freedom Day
28
30
  regions: [za]
29
31
  mday: 27
30
- observed: to_monday_if_sunday
31
- 5:
32
+ observed: to_monday_if_sunday(date)
33
+ 5:
32
34
  - name: Workers Day
33
35
  regions: [za]
34
36
  mday: 1
35
- observed: to_monday_if_sunday
37
+ observed: to_monday_if_sunday(date)
36
38
  6:
37
39
  - name: Youth Day
38
40
  regions: [za]
39
41
  mday: 16
40
- observed: to_monday_if_sunday
41
- 8:
42
+ observed: to_monday_if_sunday(date)
43
+ 8:
42
44
  - name: National Women's Day
43
45
  regions: [za]
44
46
  mday: 9
45
- observed: to_monday_if_sunday
46
- 9:
47
+ observed: to_monday_if_sunday(date)
48
+ 9:
47
49
  - name: Heritage Day
48
50
  regions: [za]
49
51
  mday: 24
50
- observed: to_monday_if_sunday
51
- 12:
52
+ observed: to_monday_if_sunday(date)
53
+ 12:
52
54
  - name: Day of Reconciliation
53
55
  regions: [za]
54
56
  mday: 16
55
- observed: to_monday_if_sunday
57
+ observed: to_monday_if_sunday(date)
56
58
  - name: Christmas Day
57
59
  regions: [za]
58
60
  mday: 25
59
- observed: to_monday_if_sunday
61
+ observed: to_monday_if_sunday(date)
60
62
  - name: Day of Goodwill
61
63
  regions: [za]
62
64
  mday: 26
63
- observed: to_weekday_if_boxing_weekend
65
+ observed: to_weekday_if_boxing_weekend(date)
64
66
  tests: |
65
- {Date.civil(2007,1,1) => 'New Year\'s Day',
66
- Date.civil(2007,3,21) => 'Human Rights Day',
67
+ {Date.civil(2007,1,1) => 'New Year\'s Day',
68
+ Date.civil(2007,3,21) => 'Human Rights Day',
67
69
  Date.civil(2007,4,6) => 'Good Friday',
68
70
  Date.civil(2007,4,9) => 'Family Day',
69
71
  Date.civil(2007,4,27) => 'Freedom Day',
@@ -75,4 +77,4 @@ tests: |
75
77
  Date.civil(2007,12,25) => 'Christmas Day',
76
78
  Date.civil(2007,12,26) => 'Day of Goodwill'}.each do |date, name|
77
79
  assert_equal name, (Holidays.on(date, :za, :informal)[0] || {})[:name]
78
- end
80
+ end
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
8
8
  gem.name = 'holidays'
9
9
  gem.version = Holidays::VERSION
10
10
  gem.authors = ['Alex Dunae', 'Phil Trimble']
11
- gem.email = ['code@dunae.ca', 'holidaysgem@gmail.com']
11
+ gem.email = ['holidaysgem@gmail.com']
12
12
  gem.homepage = 'https://github.com/holidays/holidays'
13
13
  gem.description = %q(A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday!)
14
14
  gem.summary = %q(A collection of Ruby methods to deal with statutory and other holidays.)
@@ -16,9 +16,11 @@ Gem::Specification.new do |gem|
16
16
  gem.test_files = gem.files.grep(/^test/)
17
17
  gem.require_paths = ['lib']
18
18
  gem.licenses = ['MIT']
19
+ gem.required_ruby_version = '~> 2.0'
19
20
  gem.add_development_dependency 'bundler'
20
21
  gem.add_development_dependency 'rake'
21
22
  gem.add_development_dependency 'coveralls'
22
23
  gem.add_development_dependency 'test-unit'
23
24
  gem.add_development_dependency 'mocha', '~>1.0'
25
+ gem.add_development_dependency 'pry', '~>0.10'
24
26
  end
@@ -21,8 +21,8 @@ The following definition files are included in this installation:
21
21
  * generated_definitions/el
22
22
  * generated_definitions/es
23
23
  * generated_definitions/europe
24
- * generated_definitions/fed_ex
25
24
  * generated_definitions/federal_reserve
25
+ * generated_definitions/fedex
26
26
  * generated_definitions/fi
27
27
  * generated_definitions/fr
28
28
  * generated_definitions/gb