holidays 8.7.1 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +2 -2
- data/CHANGELOG.md +9 -0
- data/README.md +64 -54
- data/holidays.gemspec +8 -3
- data/lib/generated_definitions/MANIFEST +5 -0
- data/lib/generated_definitions/REGIONS.rb +2 -2
- data/lib/generated_definitions/au.rb +24 -5
- data/lib/generated_definitions/bg.rb +7 -7
- data/lib/generated_definitions/br.rb +2 -1
- data/lib/generated_definitions/cy.rb +40 -0
- data/lib/generated_definitions/de.rb +11 -6
- data/lib/generated_definitions/europe.rb +38 -30
- data/lib/generated_definitions/gr.rb +38 -0
- data/lib/generated_definitions/hk.rb +12 -77
- data/lib/generated_definitions/in.rb +64 -0
- data/lib/generated_definitions/it.rb +1 -0
- data/lib/generated_definitions/ke.rb +34 -0
- data/lib/generated_definitions/lt.rb +2 -1
- data/lib/generated_definitions/northamerica.rb +13 -5
- data/lib/generated_definitions/nz.rb +2 -1
- data/lib/generated_definitions/pl.rb +2 -1
- data/lib/generated_definitions/ro.rb +2 -0
- data/lib/generated_definitions/sk.rb +2 -4
- data/lib/generated_definitions/southamerica.rb +1 -0
- data/lib/generated_definitions/tsx.rb +46 -0
- data/lib/generated_definitions/ups.rb +2 -1
- data/lib/generated_definitions/us.rb +13 -5
- data/lib/holidays/date_calculator/lunar_date.rb +160 -5
- data/lib/holidays/date_calculator/weekend_modifier.rb +13 -0
- data/lib/holidays/definition/context/generator.rb +2 -2
- data/lib/holidays/definition/generator/regions.rb +2 -1
- data/lib/holidays/definition/generator/test.rb +1 -1
- data/lib/holidays/finder/context/search.rb +4 -1
- data/lib/holidays/load_all_definitions.rb +4 -1
- data/lib/holidays/version.rb +1 -1
- data/test/defs/test_defs_au.rb +11 -0
- data/test/defs/test_defs_bg.rb +4 -4
- data/test/defs/test_defs_br.rb +4 -0
- data/test/defs/{test_defs_el.rb → test_defs_cy.rb} +18 -18
- data/test/defs/test_defs_de.rb +4 -0
- data/test/defs/test_defs_europe.rb +59 -49
- data/test/defs/test_defs_gr.rb +41 -0
- data/test/defs/test_defs_hk.rb +34 -0
- data/test/defs/test_defs_in.rb +94 -0
- data/test/defs/test_defs_it.rb +2 -0
- data/test/defs/test_defs_ke.rb +31 -0
- data/test/defs/test_defs_lt.rb +2 -0
- data/test/defs/test_defs_northamerica.rb +16 -9
- data/test/defs/test_defs_nz.rb +4 -0
- data/test/defs/test_defs_pl.rb +3 -1
- data/test/defs/test_defs_ro.rb +4 -0
- data/test/defs/test_defs_sk.rb +11 -15
- data/test/defs/test_defs_southamerica.rb +4 -0
- data/test/defs/test_defs_tsx.rb +70 -0
- data/test/defs/test_defs_us.rb +16 -9
- data/test/holidays/definition/generator/test_regions.rb +4 -4
- data/test/integration/test_available_regions.rb +1 -1
- data/test/integration/test_holidays.rb +1 -1
- metadata +27 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c970bf0b9b26a077f9902bc3729390c606b9354149ee024910689dfedcf4831
|
|
4
|
+
data.tar.gz: f21f303f0d7bcf522620f64fb1c35c36d84ba70a4de2aecc3c048b24a2be0e65
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cf01eea6da4b4847aa8760dddc281b9c7f661ca8bb2fe7e36d09f9737ba2bb4cd0a1785910dcc7df567565c6ad86f1eb695ded055991b7f890d49303b71dd3e3
|
|
7
|
+
data.tar.gz: be38f100fd9ff3ba4b8aa8621226574c9f699ed5c8e1340c595586e4ea538a415c3685ef94b8471fb1b15830d9b9ff7840f32f930a4ac40578460ec8c2563b30
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -11,13 +11,13 @@ jobs:
|
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
strategy:
|
|
13
13
|
matrix:
|
|
14
|
-
ruby-version: ['
|
|
14
|
+
ruby-version: ['3.2', '3.3', '3.4', 'ruby-head', '4.0']
|
|
15
15
|
env:
|
|
16
16
|
BUNDLER_NO_OLD_RUBYGEMS_WARNING: true
|
|
17
17
|
steps:
|
|
18
18
|
- uses: actions/checkout@v3
|
|
19
19
|
- name: Set up Ruby
|
|
20
|
-
uses: ruby/setup-ruby@
|
|
20
|
+
uses: ruby/setup-ruby@3ff19f5e2baf30647122352b96108b1fbe250c64 #v1.299.0
|
|
21
21
|
with:
|
|
22
22
|
ruby-version: ${{ matrix.ruby-version }}
|
|
23
23
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Ruby Holidays Gem CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 9.0.0
|
|
4
|
+
|
|
5
|
+
* Drop support for Ruby < 3.2. Supported versions are now 3.2, 3.3, 3.4, and ruby-head.
|
|
6
|
+
* Update to [v5.9.0 definitions](https://github.com/holidays/definitions/releases/tag/v5.9.0). Please see the changelog for the definition details.
|
|
7
|
+
|
|
8
|
+
## 8.8.0
|
|
9
|
+
|
|
10
|
+
* Update to [v5.7.4 definitions](https://github.com/holidays/definitions/releases/tag/v5.7.4). Please see the changelog for the definition details.
|
|
11
|
+
|
|
3
12
|
## 8.7.1
|
|
4
13
|
|
|
5
14
|
* Fix testing issues and github action config, no behavior changes
|
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
|
|
|
@@ -21,6 +21,7 @@ This gem is tested with the following ruby versions:
|
|
|
21
21
|
* 3.0.6
|
|
22
22
|
* 3.1.4
|
|
23
23
|
* 3.2.2
|
|
24
|
+
* 3.3.0
|
|
24
25
|
* JRuby 9.2.21.0
|
|
25
26
|
* JRuby 9.4.2.0
|
|
26
27
|
|
|
@@ -45,23 +46,23 @@ This gem offers multiple ways to check for holidays for a variety of scenarios.
|
|
|
45
46
|
|
|
46
47
|
Get all holidays on April 25, 2008 in Australia:
|
|
47
48
|
|
|
48
|
-
```
|
|
49
|
-
Holidays.on(Date.
|
|
49
|
+
```ruby
|
|
50
|
+
Holidays.on(Date.new(2008, 4, 25), :au)
|
|
50
51
|
=> [{:name => 'ANZAC Day',...}]
|
|
51
52
|
```
|
|
52
53
|
|
|
53
54
|
You can check multiple regions in a single call:
|
|
54
55
|
|
|
55
|
-
```
|
|
56
|
-
Holidays.on(Date.
|
|
56
|
+
```ruby
|
|
57
|
+
Holidays.on(Date.new(2008, 1, 1), :us, :fr)
|
|
57
58
|
=> [{:name=>"New Year's Day", :regions=>[:us],...},
|
|
58
59
|
{:name=>"Jour de l'an", :regions=>[:fr],...}]
|
|
59
60
|
```
|
|
60
61
|
|
|
61
62
|
You can leave off 'regions' to get holidays for any region in our [definitions](https://github.com/holidays/definitions):
|
|
62
63
|
|
|
63
|
-
```
|
|
64
|
-
Holidays.on(Date.
|
|
64
|
+
```ruby
|
|
65
|
+
Holidays.on(Date.new(2007, 4, 25))
|
|
65
66
|
=> [{:name=>"ANZAC Day", :regions=>[:au],...},
|
|
66
67
|
{:name=>"Festa della Liberazione", :regions=>[:it],...},
|
|
67
68
|
{:name=>"Dia da Liberdade", :regions=>[:pt],...}
|
|
@@ -73,9 +74,9 @@ You can leave off 'regions' to get holidays for any region in our [definitions](
|
|
|
73
74
|
|
|
74
75
|
Get all holidays during the month of July 2008 in Canada and the US:
|
|
75
76
|
|
|
76
|
-
```
|
|
77
|
-
from = Date.
|
|
78
|
-
to = Date.
|
|
77
|
+
```ruby
|
|
78
|
+
from = Date.new(2008,7,1)
|
|
79
|
+
to = Date.new(2008,7,31)
|
|
79
80
|
|
|
80
81
|
Holidays.between(from, to, :ca, :us)
|
|
81
82
|
=> [{:name => 'Canada Day',...}
|
|
@@ -90,23 +91,23 @@ By default this flag is turned off, meaning no informal holidays will be returne
|
|
|
90
91
|
|
|
91
92
|
Get Valentine's Day in the US:
|
|
92
93
|
|
|
93
|
-
```
|
|
94
|
+
```ruby
|
|
94
95
|
Holidays.on(Date.new(2018, 2, 14), :us, :informal)
|
|
95
96
|
=> [{:name=>"Valentine's Day",...}]
|
|
96
97
|
```
|
|
97
98
|
|
|
98
99
|
Leaving off 'informal' will mean that Valentine's Day is not returned:
|
|
99
100
|
|
|
100
|
-
```
|
|
101
|
+
```ruby
|
|
101
102
|
Holidays.on(Date.new(2018, 2, 14), :us)
|
|
102
103
|
=> []
|
|
103
104
|
```
|
|
104
105
|
|
|
105
106
|
Get informal holidays during the month of February 2008 for any region:
|
|
106
107
|
|
|
107
|
-
```
|
|
108
|
-
from = Date.
|
|
109
|
-
to = Date.
|
|
108
|
+
```ruby
|
|
109
|
+
from = Date.new(2008,2,1)
|
|
110
|
+
to = Date.new(2008,2,15)
|
|
110
111
|
|
|
111
112
|
Holidays.between(from, to, :informal)
|
|
112
113
|
=> [{:name => 'Valentine\'s Day',...}]
|
|
@@ -120,25 +121,26 @@ By default this flag is turned off, meaning no observed logic will be applied.
|
|
|
120
121
|
|
|
121
122
|
Get holidays that are observed on Monday July 2, 2007 in British Columbia, Canada:
|
|
122
123
|
|
|
123
|
-
```
|
|
124
|
-
Holidays.on(Date.
|
|
124
|
+
```ruby
|
|
125
|
+
Holidays.on(Date.new(2007, 7, 2), :ca_bc, :observed)
|
|
125
126
|
=> [{:name => 'Canada Day',...}]
|
|
126
127
|
```
|
|
127
128
|
|
|
128
129
|
Leaving off the 'observed' flag will mean that 'Canada Day' is not returned since it actually falls on Sunday July 1:
|
|
129
130
|
|
|
130
|
-
```
|
|
131
|
-
Holidays.on(Date.
|
|
131
|
+
```ruby
|
|
132
|
+
Holidays.on(Date.new(2007, 7, 2), :ca_bc)
|
|
132
133
|
=> []
|
|
133
|
-
|
|
134
|
+
|
|
135
|
+
Holidays.on(Date.new(2007, 7, 1), :ca_bc)
|
|
134
136
|
=> [{:name=>"Canada Day", :regions=>[:ca],...}]
|
|
135
137
|
```
|
|
136
138
|
|
|
137
139
|
Get all observed US Federal holidays between 2018 and 2019:
|
|
138
140
|
|
|
139
|
-
```
|
|
140
|
-
from = Date.
|
|
141
|
-
to = Date.
|
|
141
|
+
```ruby
|
|
142
|
+
from = Date.new(2018,1,1)
|
|
143
|
+
to = Date.new(2019,12,31)
|
|
142
144
|
|
|
143
145
|
Holidays.between(from, to, :federalreserve, :observed)
|
|
144
146
|
=> [{:name => "New Year's Day"....}
|
|
@@ -151,25 +153,28 @@ Check if there are any holidays taking place during a specified work week. 'Work
|
|
|
151
153
|
|
|
152
154
|
Check whether a holiday falls during first week of the year for any region:
|
|
153
155
|
|
|
154
|
-
```
|
|
155
|
-
Holidays.any_holidays_during_work_week?(Date.
|
|
156
|
+
```ruby
|
|
157
|
+
Holidays.any_holidays_during_work_week?(Date.new(2016, 1, 1))
|
|
156
158
|
=> true
|
|
157
159
|
```
|
|
158
160
|
|
|
159
161
|
You can also pass in `informal` or `observed`:
|
|
160
162
|
|
|
161
|
-
```
|
|
163
|
+
```ruby
|
|
162
164
|
# Returns true since Valentine's Day falls on a Wednesday
|
|
163
|
-
|
|
165
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 2, 14), :us, :informal)
|
|
164
166
|
=> true
|
|
167
|
+
|
|
165
168
|
# Returns false if you don't specify informal
|
|
166
|
-
|
|
169
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 2, 14), :us)
|
|
167
170
|
=> false
|
|
171
|
+
|
|
168
172
|
# Returns true since Veteran's Day is observed on Monday November 12, 2018
|
|
169
|
-
|
|
173
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 11, 12), :us, :observed)
|
|
170
174
|
=> true
|
|
175
|
+
|
|
171
176
|
# Returns false if you don't specify observed since the actual holiday is on Sunday November 11th 2018
|
|
172
|
-
|
|
177
|
+
Holidays.any_holidays_during_work_week?(Date.new(2018, 11, 12), :us)
|
|
173
178
|
=> false
|
|
174
179
|
```
|
|
175
180
|
|
|
@@ -177,21 +182,21 @@ irb(main):005:0> Holidays.any_holidays_during_work_week?(Date.civil(2018, 11, 12
|
|
|
177
182
|
|
|
178
183
|
Get the next holidays occurring from February 23, 2016 for the US:
|
|
179
184
|
|
|
180
|
-
```
|
|
181
|
-
Holidays.next_holidays(3, [:us, :informal], Date.
|
|
185
|
+
```ruby
|
|
186
|
+
Holidays.next_holidays(3, [:us, :informal], Date.new(2016, 2, 23))
|
|
182
187
|
=> [{:name => "St. Patrick's Day",...}, {:name => "Good Friday",...}, {:name => "Easter Sunday",...}]
|
|
183
188
|
```
|
|
184
189
|
|
|
185
190
|
You can specify the number of holidays to return. This method will default to `Date.today` if no date is provided.
|
|
186
191
|
|
|
187
|
-
#### Find all holidays
|
|
192
|
+
#### Find all holidays occurring starting from a specific date to the end of the year
|
|
188
193
|
|
|
189
194
|
Get all holidays starting from February 23, 2016 to end of year in the US:
|
|
190
195
|
|
|
191
|
-
```
|
|
192
|
-
Holidays.year_holidays([:ca_on], Date.
|
|
196
|
+
```ruby
|
|
197
|
+
Holidays.year_holidays([:ca_on], Date.new(2016, 2, 23))
|
|
193
198
|
=> [{:name=>"Good Friday",...},
|
|
194
|
-
{name=>"Easter Sunday",...},
|
|
199
|
+
{:name=>"Easter Sunday",...},
|
|
195
200
|
{:name=>"Victoria Day",...},
|
|
196
201
|
{:name=>"Canada Day",...},
|
|
197
202
|
{:name=>"Civic Holiday",...},
|
|
@@ -208,7 +213,7 @@ This method will default to `Date.today` if no date is provided.
|
|
|
208
213
|
|
|
209
214
|
Return all available regions:
|
|
210
215
|
|
|
211
|
-
```
|
|
216
|
+
```ruby
|
|
212
217
|
Holidays.available_regions
|
|
213
218
|
=> [:ar, :at, ..., :sg] # this will be a big array
|
|
214
219
|
```
|
|
@@ -219,18 +224,21 @@ In addition to the [provided definitions](https://github.com/holidays/definition
|
|
|
219
224
|
|
|
220
225
|
To load custom 'Company Founding' holiday on June 1st:
|
|
221
226
|
|
|
222
|
-
```
|
|
227
|
+
```ruby
|
|
223
228
|
Holidays.load_custom('/home/user/holiday_definitions/custom_holidays.yaml')
|
|
224
|
-
Holidays.on(Date.
|
|
225
|
-
|
|
229
|
+
Holidays.on(Date.new(2013, 6, 1), :my_custom_region)
|
|
230
|
+
=> [{:name => 'Company Founding',...}]
|
|
226
231
|
```
|
|
227
232
|
|
|
228
233
|
Custom definition files must match the [syntax of the existing definition files](https://github.com/holidays/definitions/blob/master/doc/SYNTAX.md).
|
|
229
234
|
|
|
230
235
|
Multiple files can be loaded at the same time:
|
|
231
236
|
|
|
232
|
-
```
|
|
233
|
-
Holidays.load_custom(
|
|
237
|
+
```ruby
|
|
238
|
+
Holidays.load_custom(
|
|
239
|
+
'/home/user/holidays/custom_holidays1.yaml',
|
|
240
|
+
'/home/user/holidays/custom_holidays2.yaml'
|
|
241
|
+
)
|
|
234
242
|
```
|
|
235
243
|
|
|
236
244
|
## Extending Ruby's Date and Time classes
|
|
@@ -239,8 +247,9 @@ Holidays.load_custom('/home/user/holidays/custom_holidays1.yaml', '/home/user/ho
|
|
|
239
247
|
|
|
240
248
|
To extend the 'Date' class:
|
|
241
249
|
|
|
242
|
-
```
|
|
250
|
+
```ruby
|
|
243
251
|
require 'holidays/core_extensions/date'
|
|
252
|
+
|
|
244
253
|
class Date
|
|
245
254
|
include Holidays::CoreExtensions::Date
|
|
246
255
|
end
|
|
@@ -248,8 +257,8 @@ end
|
|
|
248
257
|
|
|
249
258
|
Now you can check which holidays occur in Iceland on January 1, 2008:
|
|
250
259
|
|
|
251
|
-
```
|
|
252
|
-
d = Date.
|
|
260
|
+
```ruby
|
|
261
|
+
d = Date.new(2008,7,1)
|
|
253
262
|
|
|
254
263
|
d.holidays(:is)
|
|
255
264
|
=> [{:name => 'Nýársdagur'}...]
|
|
@@ -257,8 +266,8 @@ d.holidays(:is)
|
|
|
257
266
|
|
|
258
267
|
Or lookup Canada Day in different regions:
|
|
259
268
|
|
|
260
|
-
```
|
|
261
|
-
d = Date.
|
|
269
|
+
```ruby
|
|
270
|
+
d = Date.new(2008,7,1)
|
|
262
271
|
|
|
263
272
|
d.holiday?(:ca) # Canada
|
|
264
273
|
=> true
|
|
@@ -272,23 +281,24 @@ d.holiday?(:fr) # France
|
|
|
272
281
|
|
|
273
282
|
Or return the new date based on the options:
|
|
274
283
|
|
|
275
|
-
```
|
|
276
|
-
d = Date.
|
|
284
|
+
```ruby
|
|
285
|
+
d = Date.new(2008,7,1)
|
|
277
286
|
d.change(:year => 2016, :month => 1, :day => 1)
|
|
278
287
|
=> #<Date: 2016-01-01 ((2457389j,0s,0n),+0s,2299161j)>
|
|
279
288
|
```
|
|
280
289
|
|
|
281
290
|
Or you can calculate the day of the month:
|
|
282
291
|
|
|
283
|
-
```
|
|
292
|
+
```ruby
|
|
284
293
|
Date.calculate_mday(2015, 4, :first, 2)
|
|
285
294
|
=> 7
|
|
286
295
|
```
|
|
287
296
|
|
|
288
297
|
### Time
|
|
289
298
|
|
|
290
|
-
```
|
|
299
|
+
```ruby
|
|
291
300
|
require 'holidays/core_extensions/time'
|
|
301
|
+
|
|
292
302
|
class Time
|
|
293
303
|
include Holidays::CoreExtensions::Time
|
|
294
304
|
end
|
|
@@ -296,8 +306,8 @@ end
|
|
|
296
306
|
|
|
297
307
|
Find end of month for given date:
|
|
298
308
|
|
|
299
|
-
```
|
|
300
|
-
d = Date.
|
|
309
|
+
```ruby
|
|
310
|
+
d = Date.new(2016,8,1)
|
|
301
311
|
d.end_of_month
|
|
302
312
|
=> #<Date: 2016-08-31 ((2457632j,0s,0n),+0s,2299161j)>
|
|
303
313
|
```
|
|
@@ -306,7 +316,7 @@ d.end_of_month
|
|
|
306
316
|
|
|
307
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):
|
|
308
318
|
|
|
309
|
-
```
|
|
319
|
+
```ruby
|
|
310
320
|
YEAR = 365 * 24 * 60 * 60
|
|
311
321
|
Holidays.cache_between(Time.now, Time.now + 2 * YEAR, :ca, :us, :observed)
|
|
312
322
|
```
|
data/holidays.gemspec
CHANGED
|
@@ -12,13 +12,18 @@ 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']
|
|
18
23
|
gem.licenses = ['MIT']
|
|
19
|
-
gem.required_ruby_version = '>= 2
|
|
20
|
-
gem.add_development_dependency 'bundler', '
|
|
21
|
-
gem.add_development_dependency 'rake', '~>
|
|
24
|
+
gem.required_ruby_version = '>= 3.2'
|
|
25
|
+
gem.add_development_dependency 'bundler', '>= 2'
|
|
26
|
+
gem.add_development_dependency 'rake', '~> 13'
|
|
22
27
|
gem.add_development_dependency 'simplecov', '~> 0.16'
|
|
23
28
|
gem.add_development_dependency 'test-unit', '~> 3'
|
|
24
29
|
gem.add_development_dependency 'mocha', '~> 1'
|
|
@@ -15,6 +15,7 @@ The following definition files are included in this installation:
|
|
|
15
15
|
* generated_definitions/cl
|
|
16
16
|
* generated_definitions/co
|
|
17
17
|
* generated_definitions/cr
|
|
18
|
+
* generated_definitions/cy
|
|
18
19
|
* generated_definitions/cz
|
|
19
20
|
* generated_definitions/de
|
|
20
21
|
* generated_definitions/dk
|
|
@@ -30,13 +31,16 @@ The following definition files are included in this installation:
|
|
|
30
31
|
* generated_definitions/fr
|
|
31
32
|
* generated_definitions/gb
|
|
32
33
|
* generated_definitions/ge
|
|
34
|
+
* generated_definitions/gr
|
|
33
35
|
* generated_definitions/hk
|
|
34
36
|
* generated_definitions/hr
|
|
35
37
|
* generated_definitions/hu
|
|
36
38
|
* generated_definitions/ie
|
|
39
|
+
* generated_definitions/in
|
|
37
40
|
* generated_definitions/is
|
|
38
41
|
* generated_definitions/it
|
|
39
42
|
* generated_definitions/jp
|
|
43
|
+
* generated_definitions/ke
|
|
40
44
|
* generated_definitions/kr
|
|
41
45
|
* generated_definitions/kz
|
|
42
46
|
* generated_definitions/li
|
|
@@ -72,6 +76,7 @@ The following definition files are included in this installation:
|
|
|
72
76
|
* generated_definitions/th
|
|
73
77
|
* generated_definitions/tn
|
|
74
78
|
* generated_definitions/tr
|
|
79
|
+
* generated_definitions/tsx
|
|
75
80
|
* generated_definitions/ua
|
|
76
81
|
* generated_definitions/unitednations
|
|
77
82
|
* generated_definitions/ups
|
|
@@ -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, :de_mv, :de_by_cath, :de_by_augsburg, :
|
|
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, :cy, :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, :in, :in_wb, :in_od, :in_tr, :in_mh, :in_ar, :in_mz, :in_br, :in_hp, :in_gj, :in_sk, :in_ts, :in_jh, :in_py, :in_kl, :in_ka, :in_jk, :in_ap, :in_cg, :in_hr, :in_mp, :in_pb, :in_nl, :in_as, :in_ga, :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, :tsx, :ua, :us_fl, :us_al, :us_la, :us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_nj, :us_nc, :us_nd, :us_pa, :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_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_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
|
|
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, cy: :cy, 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, in: :in, in_wb: :in, in_od: :in, in_tr: :in, in_mh: :in, in_ar: :in, in_mz: :in, in_br: :in, in_hp: :in, in_gj: :in, in_sk: :in, in_ts: :in, in_jh: :in, in_py: :in, in_kl: :in, in_ka: :in, in_jk: :in, in_ap: :in, in_cg: :in, in_hr: :in, in_mp: :in, in_pb: :in, in_nl: :in, in_as: :in, in_ga: :in, 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, tsx: :tsx, ua: :ua, us_fl: :us, us_al: :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_pa: :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_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_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
|
|
@@ -27,25 +27,28 @@ module Holidays
|
|
|
27
27
|
{:function => "march_pub_hol_sa(year)", :function_arguments => [:year], :name => "March Public Holiday", :regions => [:au_sa]},
|
|
28
28
|
{:wday => 1, :week => 2, :name => "Canberra Day", :regions => [:au_act]}],
|
|
29
29
|
4 => [{:mday => 25, :name => "ANZAC Day", :regions => [:au, :au_vic]},
|
|
30
|
-
{:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:
|
|
30
|
+
{:mday => 25, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "ANZAC Day", :regions => [:au_qld, :au_nt, :au_act, :au_sa]},
|
|
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
34
|
{:function => "may_pub_hol_sa(year)", :function_arguments => [:year], :name => "May Public Holiday", :regions => [:au_sa]},
|
|
35
35
|
{:mday => 27, :function => "to_nearest_monday_after(date)", :function_arguments => [:date], :year_ranges => { :from => 2018 },:name => "Reconciliation Day", :regions => [:au_act]}],
|
|
36
36
|
6 => [{:wday => 1, :week => 1, :name => "Western Australia Day", :regions => [:au_wa]},
|
|
37
|
-
{: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]},
|
|
38
39
|
{:function => "qld_queens_birthday_june(year)", :function_arguments => [:year], :name => "Queen's Birthday", :regions => [:au_qld]},
|
|
39
40
|
{:mday => 6, :type => :informal, :name => "Queensland Day", :regions => [:au_qld]}],
|
|
40
41
|
7 => [{:wday => 5, :week => 3, :name => "Cairns Show", :regions => [:au_qld_cairns]}],
|
|
41
42
|
8 => [{:function => "qld_brisbane_ekka_holiday(year)", :function_arguments => [:year], :name => "Ekka", :regions => [:au_qld_brisbane]}],
|
|
42
43
|
9 => [{:mday => 22, :year_ranges => { :limited => [2022] },:name => "National Day of Mourning for Her Majesty Queen Elizabeth II", :regions => [:au]},
|
|
43
|
-
{:wday => 1, :week => -1, :name => "Queen's Birthday", :regions => [:au_wa]},
|
|
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]},
|
|
44
46
|
{:wday => 1, :week => -1, :year_ranges => { :until => 2017 },:name => "Family & Community Day", :regions => [:au_act]}],
|
|
45
47
|
10 => [{:function => "afl_grand_final(year)", :function_arguments => [:year], :name => "Friday before the AFL Grand Final", :regions => [:au_vic]},
|
|
46
48
|
{:wday => 1, :week => 1, :name => "Labour Day", :regions => [:au_act, :au_nsw, :au_sa]},
|
|
47
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]},
|
|
48
|
-
{: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]},
|
|
49
52
|
{:function => "hobart_show_day(year)", :function_arguments => [:year], :name => "Royal Hobart Show", :regions => [:au_tas_south]}],
|
|
50
53
|
11 => [{:function => "g20_day_2014_only(year)", :function_arguments => [:year], :name => "G20 Day", :regions => [:au_qld_brisbane]},
|
|
51
54
|
{:wday => 1, :week => 1, :name => "Recreation Day", :regions => [:au_tas_north]},
|
|
@@ -71,9 +74,17 @@ when 2017
|
|
|
71
74
|
when 2018
|
|
72
75
|
Date.civil(2018, 9, 28)
|
|
73
76
|
when 2019
|
|
74
|
-
Date.civil(2019,9, 27)
|
|
77
|
+
Date.civil(2019, 9, 27)
|
|
75
78
|
when 2020
|
|
76
79
|
Date.civil(2020, 10, 23)
|
|
80
|
+
when 2021
|
|
81
|
+
Date.civil(2021, 9, 24)
|
|
82
|
+
when 2022
|
|
83
|
+
Date.civil(2022, 9, 23)
|
|
84
|
+
when 2023
|
|
85
|
+
Date.civil(2023, 9, 29)
|
|
86
|
+
when 2024
|
|
87
|
+
Date.civil(2024, 9, 27)
|
|
77
88
|
end
|
|
78
89
|
},
|
|
79
90
|
|
|
@@ -87,6 +98,14 @@ else
|
|
|
87
98
|
end
|
|
88
99
|
},
|
|
89
100
|
|
|
101
|
+
"qld_kings_bday_october(year)" => Proc.new { |year|
|
|
102
|
+
if year >= 2023
|
|
103
|
+
Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 10, 1, 1)
|
|
104
|
+
else
|
|
105
|
+
nil
|
|
106
|
+
end
|
|
107
|
+
},
|
|
108
|
+
|
|
90
109
|
"qld_queens_birthday_june(year)" => Proc.new { |year|
|
|
91
110
|
if year <= 2015
|
|
92
111
|
Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 6, 2, 1)
|
|
@@ -12,13 +12,13 @@ module Holidays
|
|
|
12
12
|
|
|
13
13
|
def self.holidays_by_month
|
|
14
14
|
{
|
|
15
|
-
0 => [{:function => "
|
|
16
|
-
{:function => "
|
|
17
|
-
{:function => "
|
|
18
|
-
{:function => "
|
|
19
|
-
{:function => "
|
|
20
|
-
{:function => "
|
|
21
|
-
{:function => "
|
|
15
|
+
0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Good Friday", :regions => [:bg_en]},
|
|
16
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Разпети петък", :regions => [:bg_bg]},
|
|
17
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:bg_en]},
|
|
18
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Велика събота", :regions => [:bg_bg]},
|
|
19
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:bg_en]},
|
|
20
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Възкресение Христово. Великден", :regions => [:bg_bg, :bg_bg]},
|
|
21
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Easter Monday", :regions => [:bg_en]}],
|
|
22
22
|
1 => [{:mday => 1, :name => "New Year's Day", :regions => [:bg_en]},
|
|
23
23
|
{:mday => 1, :name => "Нова година", :regions => [:bg_bg]}],
|
|
24
24
|
3 => [{:mday => 3, :name => "Liberation Day", :regions => [:bg_en]},
|
|
@@ -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
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Holidays
|
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
|
4
|
+
#
|
|
5
|
+
# Definitions loaded: definitions/cy.yaml
|
|
6
|
+
#
|
|
7
|
+
# All the definitions are available at https://github.com/holidays/holidays
|
|
8
|
+
module CY # :nodoc:
|
|
9
|
+
def self.defined_regions
|
|
10
|
+
[:cy]
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.holidays_by_month
|
|
14
|
+
{
|
|
15
|
+
0 => [{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -2, :name => "Μεγάλη Παρασκευή", :regions => [:cy]},
|
|
16
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Μεγάλο Σάββατο", :regions => [:cy]},
|
|
17
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :name => "Κυριακή του Πάσχα", :regions => [:cy]},
|
|
18
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 1, :name => "Δευτέρα του Πάσχα", :regions => [:cy]},
|
|
19
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 2, :name => "Τρίτη του Πάσχα", :regions => [:cy]},
|
|
20
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => -48, :name => "Καθαρά Δευτέρα", :regions => [:cy]},
|
|
21
|
+
{:function => "orthodox_easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Αγίου Πνεύματος", :regions => [:cy]}],
|
|
22
|
+
1 => [{:mday => 1, :name => "Πρωτοχρονιά", :regions => [:cy]},
|
|
23
|
+
{:mday => 6, :name => "Θεοφάνεια", :regions => [:cy]}],
|
|
24
|
+
3 => [{:mday => 25, :name => "Επέτειος της Επανάστασης του 1821", :regions => [:cy]}],
|
|
25
|
+
4 => [{:mday => 1, :name => "Εθνική Ημέρα Κύπρου", :regions => [:cy]}],
|
|
26
|
+
5 => [{:mday => 1, :name => "Πρωτομαγιά", :regions => [:cy]}],
|
|
27
|
+
8 => [{:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:cy]}],
|
|
28
|
+
10 => [{:mday => 28, :name => "Επέτειος του Όχι", :regions => [:cy]}],
|
|
29
|
+
12 => [{:mday => 25, :name => "Χριστούγεννα", :regions => [:cy]},
|
|
30
|
+
{:mday => 26, :name => "Δεύτερη ημέρα των Χριστουγέννων", :regions => [:cy]}]
|
|
31
|
+
}
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.custom_methods
|
|
35
|
+
{
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -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, :de_mv, :de_by_cath, :de_by_augsburg, :
|
|
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
|
|
@@ -23,21 +23,26 @@ module Holidays
|
|
|
23
23
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -48, :type => :informal, :name => "Rosenmontag", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
|
|
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
|
-
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by
|
|
26
|
+
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by]},
|
|
27
|
+
{:mday => 6, :year_ranges => { :from => 1991 },:name => "Heilige Drei Könige", :regions => [:de_st]}],
|
|
27
28
|
3 => [{:mday => 8, :year_ranges => { :from => 2019 },:name => "Internationaler Frauentag", :regions => [:de_be]},
|
|
28
29
|
{:mday => 8, :year_ranges => { :from => 2023 },:name => "Internationaler Frauentag", :regions => [:de_mv]}],
|
|
29
|
-
5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
|
|
30
|
+
5 => [{:mday => 1, :year_ranges => { :from => 1933 },:name => "Tag der Arbeit", :regions => [:de]},
|
|
30
31
|
{: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]}
|
|
32
|
+
6 => [{:mday => 17, :year_ranges => { :between => 1954..1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
|
|
33
|
+
{:mday => 17, :year_ranges => { :limited => [2028] },:name => "Jahrestag des Volksaufstands in der DDR", :regions => [:de_be]}],
|
|
32
34
|
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by_cath, :de_by_augsburg, :de_sl]},
|
|
33
|
-
{:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]}],
|
|
35
|
+
{:mday => 8, :year_ranges => { :from => 1950 },:name => "Friedensfest", :regions => [:de_by_augsburg]}],
|
|
36
|
+
9 => [{:mday => 20, :year_ranges => { :from => 2019 },:name => "Weltkindertag", :regions => [:de_th]}],
|
|
34
37
|
10 => [{:mday => 3, :year_ranges => { :from => 1990 },:name => "Tag der Deutschen Einheit", :regions => [:de]},
|
|
35
38
|
{:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
|
|
36
39
|
{:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
|
|
37
40
|
{:mday => 31, :year_ranges => { :limited => [2017] },:name => "Reformationstag", :regions => [:de]},
|
|
38
41
|
{:mday => 31, :year_ranges => { :from => 2018 },:name => "Reformationstag", :regions => [:de_hb, :de_hh, :de_ni, :de_sh]}],
|
|
39
42
|
11 => [{:mday => 1, :name => "Allerheiligen", :regions => [:de_bw, :de_by, :de_nw, :de_rp, :de_sl]},
|
|
40
|
-
{:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :name => "Buß- und Bettag", :regions => [:de_sn]}
|
|
43
|
+
{:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :from => 1990 },:name => "Buß- und Bettag", :regions => [:de_sn]},
|
|
44
|
+
{:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :until => 1994 },:name => "Buß- und Bettag", :regions => [:de_bw, :de_by, :de_be, :de_hb, :de_hh, :de_he, :de_ni, :de_nw, :de_rp, :de_sl, :de_sh]},
|
|
45
|
+
{:function => "de_buss_und_bettag(year)", :function_arguments => [:year], :year_ranges => { :between => 1990..1994 },:name => "Buß- und Bettag", :regions => [:de_bb, :de_mv, :de_st, :de_th]}],
|
|
41
46
|
12 => [{:mday => 24, :type => :informal, :name => "Heilig Abend", :regions => [:de]},
|
|
42
47
|
{:mday => 25, :name => "1. Weihnachtstag", :regions => [:de]},
|
|
43
48
|
{:mday => 26, :name => "2. Weihnachtstag", :regions => [:de]},
|