holidays 8.6.0 → 8.8.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +25 -0
- data/CHANGELOG.md +19 -4
- data/README.md +70 -55
- data/holidays.gemspec +5 -0
- data/lib/generated_definitions/MANIFEST +2 -0
- data/lib/generated_definitions/REGIONS.rb +2 -2
- data/lib/generated_definitions/au.rb +35 -5
- data/lib/generated_definitions/br.rb +2 -1
- data/lib/generated_definitions/ca.rb +2 -1
- data/lib/generated_definitions/de.rb +6 -3
- data/lib/generated_definitions/dk.rb +1 -1
- data/lib/generated_definitions/europe.rb +26 -20
- data/lib/generated_definitions/fr.rb +2 -2
- data/lib/generated_definitions/gb.rb +1 -0
- data/lib/generated_definitions/gr.rb +38 -0
- data/lib/generated_definitions/ke.rb +34 -0
- data/lib/generated_definitions/lt.rb +2 -1
- data/lib/generated_definitions/lv.rb +2 -1
- data/lib/generated_definitions/northamerica.rb +2 -1
- data/lib/generated_definitions/nz.rb +2 -1
- data/lib/generated_definitions/scandinavia.rb +1 -1
- data/lib/generated_definitions/southamerica.rb +1 -0
- data/lib/holidays/finder/context/search.rb +1 -0
- data/lib/holidays/version.rb +1 -1
- data/test/defs/test_defs_au.rb +15 -0
- data/test/defs/test_defs_br.rb +4 -0
- data/test/defs/test_defs_ca.rb +10 -2
- data/test/defs/test_defs_de.rb +4 -0
- data/test/defs/test_defs_dk.rb +4 -0
- data/test/defs/test_defs_europe.rb +53 -33
- data/test/defs/test_defs_fr.rb +3 -3
- data/test/defs/test_defs_gb.rb +8 -0
- data/test/defs/{test_defs_el.rb → test_defs_gr.rb} +18 -18
- data/test/defs/test_defs_ke.rb +31 -0
- data/test/defs/test_defs_lt.rb +2 -0
- data/test/defs/test_defs_lv.rb +2 -0
- data/test/defs/test_defs_northamerica.rb +10 -2
- data/test/defs/test_defs_nz.rb +4 -0
- data/test/defs/test_defs_scandinavia.rb +4 -0
- data/test/defs/test_defs_southamerica.rb +4 -0
- data/test/integration/test_available_regions.rb +1 -1
- data/test/integration/test_holidays.rb +2 -8
- metadata +14 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 541f4a1cdcc966e2a4fcd290406ce35e0fe5318066ecfbe5dc3e3c7808fc6462
|
|
4
|
+
data.tar.gz: a0344504afac759b54975ce9e32c0148382f1623fa2e6bd59ca908f41c43a6d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e898308850d254f87f84c9a3eb664f81f5306654737c82268c294b8f55764cd6fc5ae152e8e6d4936cf0b509ff9beeb4189ec89ec9579e19d85d6a86d840b3a
|
|
7
|
+
data.tar.gz: d73797c2f24d6026de777dcd2a3b8d0e4fcbe84e2d1cad68db59f53f9054d43e41922f810491e9317e48b2f42cce3056ac7af8bdb18d19969a0b26639759acf7
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Ruby
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [ "master" ]
|
|
5
|
+
pull_request:
|
|
6
|
+
branches: [ "master" ]
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
ruby-version: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', 'ruby-head']
|
|
15
|
+
env:
|
|
16
|
+
BUNDLER_NO_OLD_RUBYGEMS_WARNING: true
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v3
|
|
19
|
+
- name: Set up Ruby
|
|
20
|
+
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
|
|
21
|
+
with:
|
|
22
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
23
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
24
|
+
- name: Run tests
|
|
25
|
+
run: make test
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Ruby Holidays Gem CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 8.8.0
|
|
4
|
+
|
|
5
|
+
* Update to [v5.7.4 definitions](https://github.com/holidays/definitions/releases/tag/v5.7.4). Please see the changelog for the definition details.
|
|
6
|
+
|
|
7
|
+
## 8.7.1
|
|
8
|
+
|
|
9
|
+
* Fix testing issues and github action config, no behavior changes
|
|
10
|
+
* Remove Travis CI config
|
|
11
|
+
|
|
12
|
+
## 8.7.0
|
|
13
|
+
|
|
14
|
+
* Update to [v5.6.2 definitions](https://github.com/holidays/definitions/releases/tag/v5.6.2). Please see the changelog for the definition details.
|
|
15
|
+
* Add support for ruby 2.7, 3.0, 3.1, 3.2, 3.3
|
|
16
|
+
* Add GitHub actions support since Travis CI is not free for OSS anymore
|
|
17
|
+
|
|
3
18
|
## 8.6.0
|
|
4
19
|
|
|
5
20
|
* Update to [v5.5.0 definitions](https://github.com/holidays/definitions/releases/tag/v5.5.0). Please see the changelog for the definition details.
|
|
@@ -7,22 +22,22 @@
|
|
|
7
22
|
|
|
8
23
|
## 8.5.0
|
|
9
24
|
|
|
10
|
-
* Update submodule definitions.
|
|
25
|
+
* Update submodule definitions.
|
|
11
26
|
* Thanks to contributors!!
|
|
12
27
|
|
|
13
28
|
## 8.4.1
|
|
14
29
|
|
|
15
|
-
* Fix jp holidays from 2022.
|
|
30
|
+
* Fix jp holidays from 2022.
|
|
16
31
|
|
|
17
32
|
## 8.4.0
|
|
18
33
|
|
|
19
|
-
* Update submodule definitions
|
|
34
|
+
* Update submodule definitions
|
|
20
35
|
* Thanks to contributors!!
|
|
21
36
|
|
|
22
37
|
|
|
23
38
|
## 8.3.0
|
|
24
39
|
|
|
25
|
-
* Update submodule definitions
|
|
40
|
+
* Update submodule definitions
|
|
26
41
|
* Remove test about feb 29 on non leap year.
|
|
27
42
|
* Thanks to contributors!!
|
|
28
43
|
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Ruby Holidays Gem [](https://github.com/holidays/holidays/actions/workflows/ruby.yml)
|
|
2
2
|
|
|
3
3
|
Functionality to deal with holidays in Ruby.
|
|
4
4
|
|
|
@@ -17,7 +17,13 @@ This gem is tested with the following ruby versions:
|
|
|
17
17
|
* 2.4.5
|
|
18
18
|
* 2.5.3
|
|
19
19
|
* 2.6.1
|
|
20
|
-
*
|
|
20
|
+
* 2.7.7
|
|
21
|
+
* 3.0.6
|
|
22
|
+
* 3.1.4
|
|
23
|
+
* 3.2.2
|
|
24
|
+
* 3.3.0
|
|
25
|
+
* JRuby 9.2.21.0
|
|
26
|
+
* JRuby 9.4.2.0
|
|
21
27
|
|
|
22
28
|
## Semver
|
|
23
29
|
|
|
@@ -40,23 +46,23 @@ This gem offers multiple ways to check for holidays for a variety of scenarios.
|
|
|
40
46
|
|
|
41
47
|
Get all holidays on April 25, 2008 in Australia:
|
|
42
48
|
|
|
43
|
-
```
|
|
44
|
-
Holidays.on(Date.
|
|
49
|
+
```ruby
|
|
50
|
+
Holidays.on(Date.new(2008, 4, 25), :au)
|
|
45
51
|
=> [{:name => 'ANZAC Day',...}]
|
|
46
52
|
```
|
|
47
53
|
|
|
48
54
|
You can check multiple regions in a single call:
|
|
49
55
|
|
|
50
|
-
```
|
|
51
|
-
Holidays.on(Date.
|
|
56
|
+
```ruby
|
|
57
|
+
Holidays.on(Date.new(2008, 1, 1), :us, :fr)
|
|
52
58
|
=> [{:name=>"New Year's Day", :regions=>[:us],...},
|
|
53
59
|
{:name=>"Jour de l'an", :regions=>[:fr],...}]
|
|
54
60
|
```
|
|
55
61
|
|
|
56
62
|
You can leave off 'regions' to get holidays for any region in our [definitions](https://github.com/holidays/definitions):
|
|
57
63
|
|
|
58
|
-
```
|
|
59
|
-
Holidays.on(Date.
|
|
64
|
+
```ruby
|
|
65
|
+
Holidays.on(Date.new(2007, 4, 25))
|
|
60
66
|
=> [{:name=>"ANZAC Day", :regions=>[:au],...},
|
|
61
67
|
{:name=>"Festa della Liberazione", :regions=>[:it],...},
|
|
62
68
|
{:name=>"Dia da Liberdade", :regions=>[:pt],...}
|
|
@@ -68,9 +74,9 @@ You can leave off 'regions' to get holidays for any region in our [definitions](
|
|
|
68
74
|
|
|
69
75
|
Get all holidays during the month of July 2008 in Canada and the US:
|
|
70
76
|
|
|
71
|
-
```
|
|
72
|
-
from = Date.
|
|
73
|
-
to = Date.
|
|
77
|
+
```ruby
|
|
78
|
+
from = Date.new(2008,7,1)
|
|
79
|
+
to = Date.new(2008,7,31)
|
|
74
80
|
|
|
75
81
|
Holidays.between(from, to, :ca, :us)
|
|
76
82
|
=> [{:name => 'Canada Day',...}
|
|
@@ -85,23 +91,23 @@ By default this flag is turned off, meaning no informal holidays will be returne
|
|
|
85
91
|
|
|
86
92
|
Get Valentine's Day in the US:
|
|
87
93
|
|
|
88
|
-
```
|
|
94
|
+
```ruby
|
|
89
95
|
Holidays.on(Date.new(2018, 2, 14), :us, :informal)
|
|
90
96
|
=> [{:name=>"Valentine's Day",...}]
|
|
91
97
|
```
|
|
92
98
|
|
|
93
99
|
Leaving off 'informal' will mean that Valentine's Day is not returned:
|
|
94
100
|
|
|
95
|
-
```
|
|
101
|
+
```ruby
|
|
96
102
|
Holidays.on(Date.new(2018, 2, 14), :us)
|
|
97
103
|
=> []
|
|
98
104
|
```
|
|
99
105
|
|
|
100
106
|
Get informal holidays during the month of February 2008 for any region:
|
|
101
107
|
|
|
102
|
-
```
|
|
103
|
-
from = Date.
|
|
104
|
-
to = Date.
|
|
108
|
+
```ruby
|
|
109
|
+
from = Date.new(2008,2,1)
|
|
110
|
+
to = Date.new(2008,2,15)
|
|
105
111
|
|
|
106
112
|
Holidays.between(from, to, :informal)
|
|
107
113
|
=> [{:name => 'Valentine\'s Day',...}]
|
|
@@ -115,25 +121,26 @@ By default this flag is turned off, meaning no observed logic will be applied.
|
|
|
115
121
|
|
|
116
122
|
Get holidays that are observed on Monday July 2, 2007 in British Columbia, Canada:
|
|
117
123
|
|
|
118
|
-
```
|
|
119
|
-
Holidays.on(Date.
|
|
124
|
+
```ruby
|
|
125
|
+
Holidays.on(Date.new(2007, 7, 2), :ca_bc, :observed)
|
|
120
126
|
=> [{:name => 'Canada Day',...}]
|
|
121
127
|
```
|
|
122
128
|
|
|
123
129
|
Leaving off the 'observed' flag will mean that 'Canada Day' is not returned since it actually falls on Sunday July 1:
|
|
124
130
|
|
|
125
|
-
```
|
|
126
|
-
Holidays.on(Date.
|
|
131
|
+
```ruby
|
|
132
|
+
Holidays.on(Date.new(2007, 7, 2), :ca_bc)
|
|
127
133
|
=> []
|
|
128
|
-
|
|
134
|
+
|
|
135
|
+
Holidays.on(Date.new(2007, 7, 1), :ca_bc)
|
|
129
136
|
=> [{:name=>"Canada Day", :regions=>[:ca],...}]
|
|
130
137
|
```
|
|
131
138
|
|
|
132
139
|
Get all observed US Federal holidays between 2018 and 2019:
|
|
133
140
|
|
|
134
|
-
```
|
|
135
|
-
from = Date.
|
|
136
|
-
to = Date.
|
|
141
|
+
```ruby
|
|
142
|
+
from = Date.new(2018,1,1)
|
|
143
|
+
to = Date.new(2019,12,31)
|
|
137
144
|
|
|
138
145
|
Holidays.between(from, to, :federalreserve, :observed)
|
|
139
146
|
=> [{:name => "New Year's Day"....}
|
|
@@ -146,25 +153,28 @@ Check if there are any holidays taking place during a specified work week. 'Work
|
|
|
146
153
|
|
|
147
154
|
Check whether a holiday falls during first week of the year for any region:
|
|
148
155
|
|
|
149
|
-
```
|
|
150
|
-
Holidays.any_holidays_during_work_week?(Date.
|
|
156
|
+
```ruby
|
|
157
|
+
Holidays.any_holidays_during_work_week?(Date.new(2016, 1, 1))
|
|
151
158
|
=> true
|
|
152
159
|
```
|
|
153
160
|
|
|
154
161
|
You can also pass in `informal` or `observed`:
|
|
155
162
|
|
|
156
|
-
```
|
|
163
|
+
```ruby
|
|
157
164
|
# Returns true since Valentine's Day falls on a Wednesday
|
|
158
|
-
|
|
165
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 2, 14), :us, :informal)
|
|
159
166
|
=> true
|
|
167
|
+
|
|
160
168
|
# Returns false if you don't specify informal
|
|
161
|
-
|
|
169
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 2, 14), :us)
|
|
162
170
|
=> false
|
|
171
|
+
|
|
163
172
|
# Returns true since Veteran's Day is observed on Monday November 12, 2018
|
|
164
|
-
|
|
173
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 11, 12), :us, :observed)
|
|
165
174
|
=> true
|
|
175
|
+
|
|
166
176
|
# Returns false if you don't specify observed since the actual holiday is on Sunday November 11th 2018
|
|
167
|
-
|
|
177
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 11, 12), :us)
|
|
168
178
|
=> false
|
|
169
179
|
```
|
|
170
180
|
|
|
@@ -172,21 +182,21 @@ irb(main):005:0> Holidays.any_holidays_during_work_week?(Date.civil(2018, 11, 12
|
|
|
172
182
|
|
|
173
183
|
Get the next holidays occurring from February 23, 2016 for the US:
|
|
174
184
|
|
|
175
|
-
```
|
|
176
|
-
Holidays.next_holidays(3, [:us, :informal], Date.
|
|
185
|
+
```ruby
|
|
186
|
+
Holidays.next_holidays(3, [:us, :informal], Date.new(2016, 2, 23))
|
|
177
187
|
=> [{:name => "St. Patrick's Day",...}, {:name => "Good Friday",...}, {:name => "Easter Sunday",...}]
|
|
178
188
|
```
|
|
179
189
|
|
|
180
190
|
You can specify the number of holidays to return. This method will default to `Date.today` if no date is provided.
|
|
181
191
|
|
|
182
|
-
#### Find all holidays
|
|
192
|
+
#### Find all holidays occurring starting from a specific date to the end of the year
|
|
183
193
|
|
|
184
194
|
Get all holidays starting from February 23, 2016 to end of year in the US:
|
|
185
195
|
|
|
186
|
-
```
|
|
187
|
-
Holidays.year_holidays([:ca_on], Date.
|
|
196
|
+
```ruby
|
|
197
|
+
Holidays.year_holidays([:ca_on], Date.new(2016, 2, 23))
|
|
188
198
|
=> [{:name=>"Good Friday",...},
|
|
189
|
-
{name=>"Easter Sunday",...},
|
|
199
|
+
{:name=>"Easter Sunday",...},
|
|
190
200
|
{:name=>"Victoria Day",...},
|
|
191
201
|
{:name=>"Canada Day",...},
|
|
192
202
|
{:name=>"Civic Holiday",...},
|
|
@@ -203,7 +213,7 @@ This method will default to `Date.today` if no date is provided.
|
|
|
203
213
|
|
|
204
214
|
Return all available regions:
|
|
205
215
|
|
|
206
|
-
```
|
|
216
|
+
```ruby
|
|
207
217
|
Holidays.available_regions
|
|
208
218
|
=> [:ar, :at, ..., :sg] # this will be a big array
|
|
209
219
|
```
|
|
@@ -214,18 +224,21 @@ In addition to the [provided definitions](https://github.com/holidays/definition
|
|
|
214
224
|
|
|
215
225
|
To load custom 'Company Founding' holiday on June 1st:
|
|
216
226
|
|
|
217
|
-
```
|
|
227
|
+
```ruby
|
|
218
228
|
Holidays.load_custom('/home/user/holiday_definitions/custom_holidays.yaml')
|
|
219
|
-
Holidays.on(Date.
|
|
220
|
-
|
|
229
|
+
Holidays.on(Date.new(2013, 6, 1), :my_custom_region)
|
|
230
|
+
=> [{:name => 'Company Founding',...}]
|
|
221
231
|
```
|
|
222
232
|
|
|
223
233
|
Custom definition files must match the [syntax of the existing definition files](https://github.com/holidays/definitions/blob/master/doc/SYNTAX.md).
|
|
224
234
|
|
|
225
235
|
Multiple files can be loaded at the same time:
|
|
226
236
|
|
|
227
|
-
```
|
|
228
|
-
Holidays.load_custom(
|
|
237
|
+
```ruby
|
|
238
|
+
Holidays.load_custom(
|
|
239
|
+
'/home/user/holidays/custom_holidays1.yaml',
|
|
240
|
+
'/home/user/holidays/custom_holidays2.yaml'
|
|
241
|
+
)
|
|
229
242
|
```
|
|
230
243
|
|
|
231
244
|
## Extending Ruby's Date and Time classes
|
|
@@ -234,8 +247,9 @@ Holidays.load_custom('/home/user/holidays/custom_holidays1.yaml', '/home/user/ho
|
|
|
234
247
|
|
|
235
248
|
To extend the 'Date' class:
|
|
236
249
|
|
|
237
|
-
```
|
|
250
|
+
```ruby
|
|
238
251
|
require 'holidays/core_extensions/date'
|
|
252
|
+
|
|
239
253
|
class Date
|
|
240
254
|
include Holidays::CoreExtensions::Date
|
|
241
255
|
end
|
|
@@ -243,8 +257,8 @@ end
|
|
|
243
257
|
|
|
244
258
|
Now you can check which holidays occur in Iceland on January 1, 2008:
|
|
245
259
|
|
|
246
|
-
```
|
|
247
|
-
d = Date.
|
|
260
|
+
```ruby
|
|
261
|
+
d = Date.new(2008,7,1)
|
|
248
262
|
|
|
249
263
|
d.holidays(:is)
|
|
250
264
|
=> [{:name => 'Nýársdagur'}...]
|
|
@@ -252,8 +266,8 @@ d.holidays(:is)
|
|
|
252
266
|
|
|
253
267
|
Or lookup Canada Day in different regions:
|
|
254
268
|
|
|
255
|
-
```
|
|
256
|
-
d = Date.
|
|
269
|
+
```ruby
|
|
270
|
+
d = Date.new(2008,7,1)
|
|
257
271
|
|
|
258
272
|
d.holiday?(:ca) # Canada
|
|
259
273
|
=> true
|
|
@@ -267,23 +281,24 @@ d.holiday?(:fr) # France
|
|
|
267
281
|
|
|
268
282
|
Or return the new date based on the options:
|
|
269
283
|
|
|
270
|
-
```
|
|
271
|
-
d = Date.
|
|
284
|
+
```ruby
|
|
285
|
+
d = Date.new(2008,7,1)
|
|
272
286
|
d.change(:year => 2016, :month => 1, :day => 1)
|
|
273
287
|
=> #<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>
|
|
274
288
|
```
|
|
275
289
|
|
|
276
290
|
Or you can calculate the day of the month:
|
|
277
291
|
|
|
278
|
-
```
|
|
292
|
+
```ruby
|
|
279
293
|
Date.calculate_mday(2015, 4, :first, 2)
|
|
280
294
|
=> 7
|
|
281
295
|
```
|
|
282
296
|
|
|
283
297
|
### Time
|
|
284
298
|
|
|
285
|
-
```
|
|
299
|
+
```ruby
|
|
286
300
|
require 'holidays/core_extensions/time'
|
|
301
|
+
|
|
287
302
|
class Time
|
|
288
303
|
include Holidays::CoreExtensions::Time
|
|
289
304
|
end
|
|
@@ -291,8 +306,8 @@ end
|
|
|
291
306
|
|
|
292
307
|
Find end of month for given date:
|
|
293
308
|
|
|
294
|
-
```
|
|
295
|
-
d = Date.
|
|
309
|
+
```ruby
|
|
310
|
+
d = Date.new(2016,8,1)
|
|
296
311
|
d.end_of_month
|
|
297
312
|
=> #<Date: 2016-08-31 ((2457632j,0s,0n),+0s,2299161j)>
|
|
298
313
|
```
|
|
@@ -301,7 +316,7 @@ d.end_of_month
|
|
|
301
316
|
|
|
302
317
|
If you are checking holidays regularly you can cache your results for improved performance. Run this before looking up a holiday (e.g. in an initializer):
|
|
303
318
|
|
|
304
|
-
```
|
|
319
|
+
```ruby
|
|
305
320
|
YEAR = 365 * 24 * 60 * 60
|
|
306
321
|
Holidays.cache_between(Time.now, Time.now + 2 * YEAR, :ca, :us, :observed)
|
|
307
322
|
```
|
data/holidays.gemspec
CHANGED
|
@@ -12,6 +12,11 @@ Gem::Specification.new do |gem|
|
|
|
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.)
|
|
15
|
+
gem.metadata = {
|
|
16
|
+
'changelog_uri' => "https://github.com/holidays/holidays/blob/master/CHANGELOG.md",
|
|
17
|
+
'source_code_uri' => 'https://github.com/holidays/holidays',
|
|
18
|
+
'bug_tracker_uri' => 'https://github.com/holidays/holidays/issues'
|
|
19
|
+
}
|
|
15
20
|
gem.files = `git ls-files`.split("\n") - ['.gitignore', '.travis.yml']
|
|
16
21
|
gem.test_files = gem.files.grep(/^test/)
|
|
17
22
|
gem.require_paths = ['lib']
|
|
@@ -30,6 +30,7 @@ The following definition files are included in this installation:
|
|
|
30
30
|
* generated_definitions/fr
|
|
31
31
|
* generated_definitions/gb
|
|
32
32
|
* generated_definitions/ge
|
|
33
|
+
* generated_definitions/gr
|
|
33
34
|
* generated_definitions/hk
|
|
34
35
|
* generated_definitions/hr
|
|
35
36
|
* generated_definitions/hu
|
|
@@ -37,6 +38,7 @@ The following definition files are included in this installation:
|
|
|
37
38
|
* generated_definitions/is
|
|
38
39
|
* generated_definitions/it
|
|
39
40
|
* generated_definitions/jp
|
|
41
|
+
* generated_definitions/ke
|
|
40
42
|
* generated_definitions/kr
|
|
41
43
|
* generated_definitions/kz
|
|
42
44
|
* generated_definitions/li
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
module Holidays
|
|
3
|
-
REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_wa, :au_tas, :au_tas_south, :au_qld_cairns, :au_qld_brisbane, :au_tas_north, :au_vic_melbourne, :be_fr, :be_nl, :br, :bg_en, :bg_bg, :ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :us, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :ch_vs, :ch, :cl, :co, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :
|
|
3
|
+
REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_wa, :au_tas, :au_tas_south, :au_qld_cairns, :au_qld_brisbane, :au_tas_north, :au_vic_melbourne, :be_fr, :be_nl, :br, :bg_en, :bg_bg, :ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_nb, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_yt, :us, :ch_zh, :ch_be, :ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_gl, :ch_zg, :ch_fr, :ch_so, :ch_bs, :ch_bl, :ch_sh, :ch_ar, :ch_ai, :ch_sg, :ch_gr, :ch_ag, :ch_tg, :ch_ti, :ch_vd, :ch_ne, :ch_ge, :ch_ju, :ch_vs, :ch, :cl, :co, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_mv, :de_by_cath, :de_by_augsburg, :de_th, :de_bb, :de_hb, :de_hh, :de_ni, :de_sh, :ecbtarget, :ee, :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, :es, :es_ct, :es_v, :es_vc, :federalreserve, :federalreservebanks, :fedex, :fi, :fr_a, :fr_m, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :je, :gb_jsy, :gg, :gb_gsy, :gb_sct, :gb_con, :im, :gb_iom, :ge, :gr, :hr, :hk, :hu, :ie, :is, :it, :it_ve, :it_tv, :it_vr, :it_pd, :it_fi, :it_ge, :it_to, :it_rm, :it_vi, :it_bl, :it_ro, :ke, :kr, :kz, :li, :lt, :lv, :ma, :mt_mt, :mt_en, :mx, :mx_pue, :nerc, :nl, :lu, :no, :nyse, :nz, :nz_sl, :nz_we, :nz_ak, :nz_nl, :nz_ne, :nz_ot, :nz_ta, :nz_sc, :nz_hb, :nz_mb, :nz_ca, :nz_ch, :nz_wl, :pe, :ph, :pl, :pt, :pt_li, :pt_po, :ro, :rs_cyrl, :rs_la, :ru, :se, :tn, :tr, :ua, :us_fl, :us_la, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pr, :us_tn, :us_ms, :us_id, :us_ar, :us_tx, :us_dc, :us_md, :us_va, :us_vt, :us_ak, :us_ca, :us_me, :us_ma, :us_al, :us_ga, :us_ne, :us_mo, :us_sc, :us_wv, :us_vi, :us_ut, :us_ri, :us_az, :us_co, :us_il, :us_mt, :us_nm, :us_ny, :us_oh, :us_pa, :us_mi, :us_mn, :us_nv, :us_or, :us_sd, :us_wa, :us_wi, :us_wy, :us_ia, :us_ks, :us_nh, :us_ok, :unitednations, :ups, :za, :ve, :sk, :si, :jp, :vi, :sg, :my, :th, :ng]
|
|
4
4
|
|
|
5
|
-
PARENT_REGION_LOOKUP = {:ar=>:ar, :at=>:at, :au=>:au, :au_nsw=>:au, :au_vic=>:au, :au_qld=>:au, :au_nt=>:au, :au_act=>:au, :au_sa=>:au, :au_wa=>:au, :au_tas=>:au, :au_tas_south=>:au, :au_qld_cairns=>:au, :au_qld_brisbane=>:au, :au_tas_north=>:au, :au_vic_melbourne=>:au, :be_fr=>:be_fr, :be_nl=>:be_nl, :br=>:br, :bg_en=>:bg, :bg_bg=>:bg, :ca=>:ca, :ca_qc=>:ca, :ca_ab=>:ca, :ca_sk=>:ca, :ca_on=>:ca, :ca_bc=>:ca, :ca_nb=>:ca, :ca_mb=>:ca, :ca_ns=>:ca, :ca_pe=>:ca, :ca_nl=>:ca, :ca_nt=>:ca, :ca_nu=>:ca, :ca_yt=>:ca, :us=>:us, :ch_zh=>:ch, :ch_be=>:ch, :ch_lu=>:ch, :ch_ur=>:ch, :ch_sz=>:ch, :ch_ow=>:ch, :ch_nw=>:ch, :ch_gl=>:ch, :ch_zg=>:ch, :ch_fr=>:ch, :ch_so=>:ch, :ch_bs=>:ch, :ch_bl=>:ch, :ch_sh=>:ch, :ch_ar=>:ch, :ch_ai=>:ch, :ch_sg=>:ch, :ch_gr=>:ch, :ch_ag=>:ch, :ch_tg=>:ch, :ch_ti=>:ch, :ch_vd=>:ch, :ch_ne=>:ch, :ch_ge=>:ch, :ch_ju=>:ch, :ch_vs=>:ch, :ch=>:ch, :cl=>:cl, :co=>:co, :cr=>:cr, :cz=>:cz, :dk=>:dk, :de=>:de, :de_bw=>:de, :de_by=>:de, :de_he=>:de, :de_nw=>:de, :de_rp=>:de, :de_sl=>:de, :de_sn_sorbian=>:de, :de_th_cath=>:de, :de_sn=>:de, :de_st=>:de, :de_be=>:de, :
|
|
5
|
+
PARENT_REGION_LOOKUP = {:ar=>:ar, :at=>:at, :au=>:au, :au_nsw=>:au, :au_vic=>:au, :au_qld=>:au, :au_nt=>:au, :au_act=>:au, :au_sa=>:au, :au_wa=>:au, :au_tas=>:au, :au_tas_south=>:au, :au_qld_cairns=>:au, :au_qld_brisbane=>:au, :au_tas_north=>:au, :au_vic_melbourne=>:au, :be_fr=>:be_fr, :be_nl=>:be_nl, :br=>:br, :bg_en=>:bg, :bg_bg=>:bg, :ca=>:ca, :ca_qc=>:ca, :ca_ab=>:ca, :ca_sk=>:ca, :ca_on=>:ca, :ca_bc=>:ca, :ca_nb=>:ca, :ca_mb=>:ca, :ca_ns=>:ca, :ca_pe=>:ca, :ca_nl=>:ca, :ca_nt=>:ca, :ca_nu=>:ca, :ca_yt=>:ca, :us=>:us, :ch_zh=>:ch, :ch_be=>:ch, :ch_lu=>:ch, :ch_ur=>:ch, :ch_sz=>:ch, :ch_ow=>:ch, :ch_nw=>:ch, :ch_gl=>:ch, :ch_zg=>:ch, :ch_fr=>:ch, :ch_so=>:ch, :ch_bs=>:ch, :ch_bl=>:ch, :ch_sh=>:ch, :ch_ar=>:ch, :ch_ai=>:ch, :ch_sg=>:ch, :ch_gr=>:ch, :ch_ag=>:ch, :ch_tg=>:ch, :ch_ti=>:ch, :ch_vd=>:ch, :ch_ne=>:ch, :ch_ge=>:ch, :ch_ju=>:ch, :ch_vs=>:ch, :ch=>:ch, :cl=>:cl, :co=>:co, :cr=>:cr, :cz=>:cz, :dk=>:dk, :de=>:de, :de_bw=>:de, :de_by=>:de, :de_he=>:de, :de_nw=>:de, :de_rp=>:de, :de_sl=>:de, :de_sn_sorbian=>:de, :de_th_cath=>:de, :de_sn=>:de, :de_st=>:de, :de_be=>:de, :de_mv=>:de, :de_by_cath=>:de, :de_by_augsburg=>:de, :de_th=>:de, :de_bb=>:de, :de_hb=>:de, :de_hh=>:de, :de_ni=>:de, :de_sh=>:de, :ecbtarget=>:ecbtarget, :ee=>:ee, :es_pv=>:es, :es_na=>:es, :es_an=>:es, :es_ib=>:es, :es_cm=>:es, :es_mu=>:es, :es_m=>:es, :es_ar=>:es, :es_cl=>:es, :es_cn=>:es, :es_lo=>:es, :es_ga=>:es, :es_ce=>:es, :es_o=>:es, :es_ex=>:es, :es=>:es, :es_ct=>:es, :es_v=>:es, :es_vc=>:es, :federalreserve=>:federalreserve, :federalreservebanks=>:federalreservebanks, :fedex=>:fedex, :fi=>:fi, :fr_a=>:fr, :fr_m=>:fr, :fr=>:fr, :gb=>:gb, :gb_eng=>:gb, :gb_wls=>:gb, :gb_eaw=>:gb, :gb_nir=>:gb, :je=>:gb, :gb_jsy=>:gb, :gg=>:gb, :gb_gsy=>:gb, :gb_sct=>:gb, :gb_con=>:gb, :im=>:gb, :gb_iom=>:gb, :ge=>:ge, :gr=>:gr, :hr=>:hr, :hk=>:hk, :hu=>:hu, :ie=>:ie, :is=>:is, :it=>:it, :it_ve=>:it, :it_tv=>:it, :it_vr=>:it, :it_pd=>:it, :it_fi=>:it, :it_ge=>:it, :it_to=>:it, :it_rm=>:it, :it_vi=>:it, :it_bl=>:it, :it_ro=>:it, :ke=>:ke, :kr=>:kr, :kz=>:kz, :li=>:li, :lt=>:lt, :lv=>:lv, :ma=>:ma, :mt_mt=>:mt_mt, :mt_en=>:mt_en, :mx=>:mx, :mx_pue=>:mx, :nerc=>:nerc, :nl=>:nl, :lu=>:lu, :no=>:no, :nyse=>:nyse, :nz=>:nz, :nz_sl=>:nz, :nz_we=>:nz, :nz_ak=>:nz, :nz_nl=>:nz, :nz_ne=>:nz, :nz_ot=>:nz, :nz_ta=>:nz, :nz_sc=>:nz, :nz_hb=>:nz, :nz_mb=>:nz, :nz_ca=>:nz, :nz_ch=>:nz, :nz_wl=>:nz, :pe=>:pe, :ph=>:ph, :pl=>:pl, :pt=>:pt, :pt_li=>:pt, :pt_po=>:pt, :ro=>:ro, :rs_cyrl=>:rs_cyrl, :rs_la=>:rs_la, :ru=>:ru, :se=>:se, :tn=>:tn, :tr=>:tr, :ua=>:ua, :us_fl=>:us, :us_la=>:us, :us_ct=>:us, :us_de=>:us, :us_gu=>:us, :us_hi=>:us, :us_in=>:us, :us_ky=>:us, :us_nj=>:us, :us_nc=>:us, :us_nd=>:us, :us_pr=>:us, :us_tn=>:us, :us_ms=>:us, :us_id=>:us, :us_ar=>:us, :us_tx=>:us, :us_dc=>:us, :us_md=>:us, :us_va=>:us, :us_vt=>:us, :us_ak=>:us, :us_ca=>:us, :us_me=>:us, :us_ma=>:us, :us_al=>:us, :us_ga=>:us, :us_ne=>:us, :us_mo=>:us, :us_sc=>:us, :us_wv=>:us, :us_vi=>:us, :us_ut=>:us, :us_ri=>:us, :us_az=>:us, :us_co=>:us, :us_il=>:us, :us_mt=>:us, :us_nm=>:us, :us_ny=>:us, :us_oh=>:us, :us_pa=>:us, :us_mi=>:us, :us_mn=>:us, :us_nv=>:us, :us_or=>:us, :us_sd=>:us, :us_wa=>:us, :us_wi=>:us, :us_wy=>:us, :us_ia=>:us, :us_ks=>:us, :us_nh=>:us, :us_ok=>:us, :unitednations=>:unitednations, :ups=>:ups, :za=>:za, :ve=>:southamerica, :sk=>:europe, :si=>:europe, :jp=>:jp, :vi=>:vi, :sg=>:sg, :my=>:my, :th=>:th, :ng=>:ng}
|
|
6
6
|
end
|
|
@@ -31,20 +31,24 @@ module Holidays
|
|
|
31
31
|
{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:au_wa]}],
|
|
32
32
|
5 => [{:function => "qld_labour_day_may(year)", :function_arguments => [:year], :name => "Labour Day", :regions => [:au_qld]},
|
|
33
33
|
{:wday => 1, :week => 1, :name => "May Day", :regions => [:au_nt]},
|
|
34
|
-
{:function => "may_pub_hol_sa(year)", :function_arguments => [:year], :name => "May Public Holiday", :regions => [:au_sa]}
|
|
34
|
+
{:function => "may_pub_hol_sa(year)", :function_arguments => [:year], :name => "May Public Holiday", :regions => [:au_sa]},
|
|
35
|
+
{:mday => 27, :function => "to_nearest_monday_after(date)", :function_arguments => [:date], :year_ranges => { :from => 2018 },:name => "Reconciliation Day", :regions => [:au_act]}],
|
|
35
36
|
6 => [{:wday => 1, :week => 1, :name => "Western Australia Day", :regions => [:au_wa]},
|
|
36
|
-
{:wday => 1, :week => 2, :name => "Queen's Birthday", :regions => [:au_act, :au_nsw, :au_sa, :au_tas, :au_nt, :au_vic]},
|
|
37
|
+
{:wday => 1, :week => 2, :year_ranges => { :until => 2022 },:name => "Queen's Birthday", :regions => [:au_act, :au_nsw, :au_sa, :au_tas, :au_nt, :au_vic]},
|
|
38
|
+
{:wday => 1, :week => 2, :year_ranges => { :from => 2023 },:name => "King's Birthday", :regions => [:au_act, :au_nsw, :au_sa, :au_tas, :au_nt, :au_vic]},
|
|
37
39
|
{:function => "qld_queens_birthday_june(year)", :function_arguments => [:year], :name => "Queen's Birthday", :regions => [:au_qld]},
|
|
38
40
|
{:mday => 6, :type => :informal, :name => "Queensland Day", :regions => [:au_qld]}],
|
|
39
41
|
7 => [{:wday => 5, :week => 3, :name => "Cairns Show", :regions => [:au_qld_cairns]}],
|
|
40
42
|
8 => [{:function => "qld_brisbane_ekka_holiday(year)", :function_arguments => [:year], :name => "Ekka", :regions => [:au_qld_brisbane]}],
|
|
41
43
|
9 => [{:mday => 22, :year_ranges => { :limited => [2022] },:name => "National Day of Mourning for Her Majesty Queen Elizabeth II", :regions => [:au]},
|
|
42
|
-
{:wday => 1, :week => -1, :name => "Queen's Birthday", :regions => [:au_wa]},
|
|
43
|
-
{:wday => 1, :week => -1, :
|
|
44
|
+
{:wday => 1, :week => -1, :year_ranges => { :until => 2021 },:name => "Queen's Birthday", :regions => [:au_wa]},
|
|
45
|
+
{:wday => 1, :week => -1, :year_ranges => { :from => 2022 },:name => "King's Birthday", :regions => [:au_wa]},
|
|
46
|
+
{:wday => 1, :week => -1, :year_ranges => { :until => 2017 },:name => "Family & Community Day", :regions => [:au_act]}],
|
|
44
47
|
10 => [{:function => "afl_grand_final(year)", :function_arguments => [:year], :name => "Friday before the AFL Grand Final", :regions => [:au_vic]},
|
|
45
48
|
{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_act, :au_nsw, :au_sa]},
|
|
46
49
|
{:function => "qld_labour_day_october(year)", :function_arguments => [:year], :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Labour Day", :regions => [:au_qld]},
|
|
47
|
-
{:function => "qld_queens_bday_october(year)", :function_arguments => [:year], :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Queen's Birthday", :regions => [:au_qld]},
|
|
50
|
+
{:function => "qld_queens_bday_october(year)", :function_arguments => [:year], :year_ranges => { :until => 2022 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Queen's Birthday", :regions => [:au_qld]},
|
|
51
|
+
{:function => "qld_kings_bday_october(year)", :function_arguments => [:year], :year_ranges => { :from => 2023 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "King's Birthday", :regions => [:au_qld]},
|
|
48
52
|
{:function => "hobart_show_day(year)", :function_arguments => [:year], :name => "Royal Hobart Show", :regions => [:au_tas_south]}],
|
|
49
53
|
11 => [{:function => "g20_day_2014_only(year)", :function_arguments => [:year], :name => "G20 Day", :regions => [:au_qld_brisbane]},
|
|
50
54
|
{:wday => 1, :week => 1, :name => "Recreation Day", :regions => [:au_tas_north]},
|
|
@@ -86,6 +90,14 @@ else
|
|
|
86
90
|
end
|
|
87
91
|
},
|
|
88
92
|
|
|
93
|
+
"qld_kings_bday_october(year)" => Proc.new { |year|
|
|
94
|
+
if year >= 2023
|
|
95
|
+
Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 10, 1, 1)
|
|
96
|
+
else
|
|
97
|
+
nil
|
|
98
|
+
end
|
|
99
|
+
},
|
|
100
|
+
|
|
89
101
|
"qld_queens_birthday_june(year)" => Proc.new { |year|
|
|
90
102
|
if year <= 2015
|
|
91
103
|
Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 6, 2, 1)
|
|
@@ -140,6 +152,24 @@ else
|
|
|
140
152
|
end
|
|
141
153
|
},
|
|
142
154
|
|
|
155
|
+
"to_nearest_monday_after(date)" => Proc.new { |date|
|
|
156
|
+
case date.wday
|
|
157
|
+
when 6
|
|
158
|
+
date += 2
|
|
159
|
+
when 5
|
|
160
|
+
date += 3
|
|
161
|
+
when 4
|
|
162
|
+
date += 4
|
|
163
|
+
when 3
|
|
164
|
+
date += 5
|
|
165
|
+
when 2
|
|
166
|
+
date += 6
|
|
167
|
+
when 0
|
|
168
|
+
date += 1
|
|
169
|
+
end
|
|
170
|
+
date
|
|
171
|
+
},
|
|
172
|
+
|
|
143
173
|
|
|
144
174
|
}
|
|
145
175
|
end
|
|
@@ -22,7 +22,8 @@ module Holidays
|
|
|
22
22
|
9 => [{:mday => 7, :name => "Proclamação da Independência", :regions => [:br]}],
|
|
23
23
|
10 => [{:mday => 12, :name => "Dia de Nossa Senhora Aparecida", :regions => [:br]}],
|
|
24
24
|
11 => [{:mday => 2, :name => "Dia de Finados", :regions => [:br]},
|
|
25
|
-
{:mday => 15, :name => "Proclamação da República", :regions => [:br]}
|
|
25
|
+
{:mday => 15, :name => "Proclamação da República", :regions => [:br]},
|
|
26
|
+
{:mday => 20, :year_ranges => { :from => 2024 },:name => "Dia Nacional de Zumbi e da Consciência Negra", :regions => [:br]}],
|
|
26
27
|
12 => [{:mday => 25, :name => "Natal", :regions => [:br]}]
|
|
27
28
|
}
|
|
28
29
|
end
|
|
@@ -53,7 +53,8 @@ module Holidays
|
|
|
53
53
|
{:wday => 1, :week => 1, :type => :informal, :name => "Terry Fox Day", :regions => [:ca_mb]},
|
|
54
54
|
{:wday => 1, :week => 3, :name => "Discovery Day", :regions => [:ca_yt]}],
|
|
55
55
|
9 => [{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:ca]},
|
|
56
|
-
{:mday => 30, :year_ranges => { :from => 2021 },:name => "National Day for Truth and Reconciliation", :regions => [:
|
|
56
|
+
{:mday => 30, :year_ranges => { :from => 2021 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "National Day for Truth and Reconciliation", :regions => [:ca_bc, :ca_nt, :ca_pe, :ca_yt]},
|
|
57
|
+
{:mday => 30, :year_ranges => { :from => 2021 },:observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :type => :informal, :name => "National Day for Truth and Reconciliation", :regions => [:ca_ab, :ca_mb, :ca_nu]}],
|
|
57
58
|
10 => [{:wday => 1, :week => 2, :name => "Thanksgiving", :regions => [:ca_ab, :ca_bc, :ca_mb, :ca_nt, :ca_nu, :ca_on, :ca_qc, :ca_sk, :ca_yt]},
|
|
58
59
|
{:mday => 31, :type => :informal, :name => "Halloween", :regions => [:us, :ca]}],
|
|
59
60
|
11 => [{:mday => 11, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Remembrance Day", :regions => [:ca_ab, :ca_sk, :ca_bc, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_nb, :ca_yt]}],
|
|
@@ -7,7 +7,7 @@ module Holidays
|
|
|
7
7
|
# All the definitions are available at https://github.com/holidays/holidays
|
|
8
8
|
module DE # :nodoc:
|
|
9
9
|
def self.defined_regions
|
|
10
|
-
[:de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :
|
|
10
|
+
[:de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_cath, :de_sn, :de_st, :de_be, :de_mv, :de_by_cath, :de_by_augsburg, :de_th, :de_bb, :de_hb, :de_hh, :de_ni, :de_sh]
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def self.holidays_by_month
|
|
@@ -24,12 +24,15 @@ module Holidays
|
|
|
24
24
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -46, :type => :informal, :name => "Aschermittwoch", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]}],
|
|
25
25
|
1 => [{:mday => 1, :name => "Neujahrstag", :regions => [:de]},
|
|
26
26
|
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]}],
|
|
27
|
-
3 => [{:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]}
|
|
27
|
+
3 => [{:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
|
|
28
|
+
{:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]}],
|
|
28
29
|
5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
|
|
29
30
|
{:mday => 8, :year_ranges => { :limited => [2020] },:name => "Tag der Befreiung", :regions => [:de_be]}],
|
|
31
|
+
6 => [{:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]}],
|
|
30
32
|
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by_cath, :de_by_augsburg, :de_sl]},
|
|
31
33
|
{:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]}],
|
|
32
|
-
|
|
34
|
+
9 => [{:mday => 20, :year_ranges => { :from => 2019 },:name => "Weltkindertag", :regions => [:de_th]}],
|
|
35
|
+
10 => [{:mday => 3, :year_ranges => { :from => 1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
|
|
33
36
|
{:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
|
|
34
37
|
{:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
|
|
35
38
|
{:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
|
|
@@ -18,7 +18,7 @@ module Holidays
|
|
|
18
18
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Langfredag", :regions => [:dk]},
|
|
19
19
|
{:function => "easter(year)", :function_arguments => [:year], :name => "Påskedag", :regions => [:dk]},
|
|
20
20
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "2. påskedag", :regions => [:dk]},
|
|
21
|
-
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 26, :name => "Store Bededag", :regions => [:dk]},
|
|
21
|
+
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 26, :year_ranges => { :until => 2023 },:name => "Store Bededag", :regions => [:dk]},
|
|
22
22
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Kristi Himmelfartsdag", :regions => [:dk]},
|
|
23
23
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :name => "Pinsedag", :regions => [:dk]},
|
|
24
24
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "2. Pinsedag", :regions => [:dk]}],
|