holidays 5.3.0 → 5.4.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/CHANGELOG.md +17 -4
- data/CONTRIBUTING.md +2 -2
- data/lib/generated_definitions/MANIFEST +1 -0
- data/lib/generated_definitions/REGIONS.rb +1 -1
- data/lib/generated_definitions/au.rb +7 -6
- data/lib/generated_definitions/de.rb +3 -3
- data/lib/generated_definitions/europe.rb +3 -3
- data/lib/generated_definitions/ph.rb +2 -2
- data/lib/generated_definitions/tn.rb +38 -0
- data/lib/holidays/core_extensions/date.rb +2 -2
- data/lib/holidays/date_calculator/weekend_modifier.rb +0 -7
- data/lib/holidays/finder/context/parse_options.rb +1 -1
- data/lib/holidays/finder/rules/in_region.rb +9 -1
- data/lib/holidays/load_all_definitions.rb +0 -1
- data/lib/holidays/version.rb +1 -1
- data/test/defs/test_defs_au.rb +17 -9
- data/test/defs/test_defs_de.rb +2 -2
- data/test/defs/test_defs_europe.rb +2 -2
- data/test/defs/test_defs_ph.rb +1 -3
- data/test/defs/test_defs_tn.rb +22 -0
- data/test/holidays/finder/rules/test_in_region.rb +4 -0
- data/test/integration/test_available_regions.rb +1 -1
- data/test/integration/test_holidays.rb +24 -15
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0448bba1a51b6146ce38c33adaf245f93c7fc4a3
|
|
4
|
+
data.tar.gz: bb063b9cb860cbbac1acbeae2efb76914c74d659
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8d0d7e506d4f0ca0d3ed87790b253739d06b3ef47c4ca1f543af10fdfca3b55f3c131c402ec0254fa6c450e6866db44ec8e1717f220e6fda853daf49d0f6a20c
|
|
7
|
+
data.tar.gz: c22cedcfaf1a970ebae94891b0040cdf835db1f4fc76ca76b5fec460b0d998b9c9ddcdad3bb8ca2f7d4af68967ca8aff065095f8b5e25ae6c3df9113cd5bcbf0
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Ruby Holidays Gem CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 5.4.0
|
|
4
|
+
|
|
5
|
+
* Add support for ruby 2.4.0 (added it to the required tests in Travis CI)
|
|
6
|
+
* Fix issue [#250](https://github.com/holidays/holidays/issues/250), which was that subregions were 'lost' if there was more than one underscore in it (thanks to https://github.com/chinito)
|
|
7
|
+
* Fix caching when using Date extensions (thanks to https://github.com/alexgerstein)
|
|
8
|
+
* Remove unused weekend date calculator method (thanks to https://github.com/ttwo32)
|
|
9
|
+
* Use FULL_DEFINITIONS_PATH when loading definitions to avoid NameErrors when iterating whole LOAD_PATH (thanks to https://github.com/burke)
|
|
10
|
+
* Point to latest version (1.3.0) of definitions, which includes:
|
|
11
|
+
* Add Tunisian (tn) holidays (thanks to https://github.com/achr3f)
|
|
12
|
+
* Corrects various Australian holidays
|
|
13
|
+
* Update certain German regions for accuracy
|
|
14
|
+
* Change 'yk' to 'yt'
|
|
15
|
+
|
|
3
16
|
## 5.3.0
|
|
4
17
|
|
|
5
18
|
* Fix `ca` province/territory codes for 'Newfoundland and Labrador' and 'Yukon' (thanks to https://github.com/slucaskim)
|
|
@@ -12,10 +25,10 @@
|
|
|
12
25
|
## 5.2.0
|
|
13
26
|
|
|
14
27
|
* Point to latest (v1.2.0 of definitions)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
* updates `jp` defs to fix 'Foundation Day' name
|
|
29
|
+
* Fix `ca` defs for observed holidays
|
|
30
|
+
* Update `au` defs to have Christmas and Boxing Day for all of Australia instead of just individual territories
|
|
31
|
+
* Update `ie` defs to consolidate St Stephen's Day to use common method instead of custom method
|
|
19
32
|
|
|
20
33
|
## 5.1.0
|
|
21
34
|
|
data/CONTRIBUTING.md
CHANGED
|
@@ -15,12 +15,12 @@ or, if you forgot to do so, run `make update_defs` so that all of the submodule
|
|
|
15
15
|
|
|
16
16
|
Our definitions are written in YAML. They are housed in a [separate repository](https://github.com/holidays/definitions) so
|
|
17
17
|
that they can be used by tools written in other languages. You can find a complete guide to our format in the
|
|
18
|
-
[definitions SYNTAX guide](https://github.com/holidays/definitions/SYNTAX.md).
|
|
18
|
+
[definitions SYNTAX guide](https://github.com/holidays/definitions/blob/master/SYNTAX.md).
|
|
19
19
|
|
|
20
20
|
In this ruby project we take the YAML definitions and generate final ruby classes that are loaded at runtime for fast
|
|
21
21
|
calculations.
|
|
22
22
|
|
|
23
|
-
Once you have a good idea on what you want to change, please see the [contributing guide](https://github.com/holidays/definitions/CONTRIBUTING.md) in the `definitions` repository.
|
|
23
|
+
Once you have a good idea on what you want to change, please see the [contributing guide](https://github.com/holidays/definitions/blob/master/CONTRIBUTING.md) in the `definitions` repository.
|
|
24
24
|
|
|
25
25
|
*NOTICE* - this whole submodule-definitions-thing is brand-new. If you are confused or run into issues please open an issue.
|
|
26
26
|
The maintainers will respond immediately to help you out. :)
|
|
@@ -56,6 +56,7 @@ The following definition files are included in this installation:
|
|
|
56
56
|
* generated_definitions/sg
|
|
57
57
|
* generated_definitions/si
|
|
58
58
|
* generated_definitions/sk
|
|
59
|
+
* generated_definitions/tn
|
|
59
60
|
* generated_definitions/united_nations
|
|
60
61
|
* generated_definitions/ups
|
|
61
62
|
* generated_definitions/us
|
|
@@ -1,4 +1,4 @@
|
|
|
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_tas_south, :au_wa, :au_tas, :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_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_nb, :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, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :
|
|
3
|
+
REGIONS = [:ar, :at, :au, :au_nsw, :au_vic, :au_qld, :au_nt, :au_act, :au_sa, :au_tas_south, :au_wa, :au_tas, :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_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_nb, :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, :cr, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld, :de_sn, :de_st, :de_by_augsburg, :de_bb, :de_mv, :de_th, :ecb_target, :el, :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, :federal_reserve, :fedex, :fi, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hk, :hu, :ie, :is, :it, :kr, :li, :lt, :ma, :mx, :mx_pue, :us, :ca, :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, :ro, :se, :tn, :us, :us_dc, :us_ca, :ca, :united_nations, :ups, :za, :ca, :ca_qc, :ca_ab, :ca_sk, :ca_on, :ca_bc, :ca_mb, :ca_ns, :ca_pe, :ca_nl, :ca_nt, :ca_nu, :ca_nb, :ca_yt, :mx, :mx_pue, :us, :us_dc, :us_ca, :dk, :is, :no, :se, :fi, :at, :be_fr, :be_nl, :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, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld, :de_sn, :de_st, :de_by_augsburg, :de_bb, :de_mv, :de_th, :el, :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, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :nl, :no, :pl, :pt, :ro, :sk, :si, :bg_en, :bg_bg, :jp, :ve, :vi, :sk, :si, :sg, :my]
|
|
4
4
|
end
|
|
@@ -51,12 +51,11 @@ module Holidays
|
|
|
51
51
|
11 => [{:function => "g20_day_2014_only(year)", :function_arguments => [:year], :name => "G20 Day", :regions => [:au_qld_brisbane]},
|
|
52
52
|
{:wday => 1, :week => 1, :name => "Recreation Day", :regions => [:au_tas_north]},
|
|
53
53
|
{:wday => 2, :week => 1, :name => "Melbourne Cup Day", :regions => [:au_vic_melbourne]}],
|
|
54
|
-
12 => [{:mday => 25, :observed => "to_tuesday_if_sunday_or_monday_if_saturday(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:
|
|
55
|
-
{:mday =>
|
|
56
|
-
{:function => "
|
|
57
|
-
{:mday => 26, :observed => "to_tuesday_if_sunday_or_monday_if_saturday(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:au, :au_nsw, :au_vic, :au_qld, :au_act, :au_wa]},
|
|
54
|
+
12 => [{:mday => 25, :observed => "to_tuesday_if_sunday_or_monday_if_saturday(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:au_qld, :au_nsw, :au_act, :au_tas, :au_wa, :au_vic, :au_nt]},
|
|
55
|
+
{:mday => 26, :observed => "to_tuesday_if_sunday_or_monday_if_saturday(date)", :observed_arguments => [:date], :name => "Boxing Day", :regions => [:au_nsw, :au_vic, :au_qld, :au_act, :au_wa]},
|
|
56
|
+
{:function => "to_weekday_if_boxing_weekend_from_year(year)", :function_arguments => [:year], :name => "Boxing Day", :regions => [:au_tas, :au_nt]},
|
|
58
57
|
{:function => "to_weekday_if_boxing_weekend_from_year_or_to_tuesday_if_monday(year)", :function_arguments => [:year], :name => "Boxing Day", :regions => [:au_sa]},
|
|
59
|
-
{:
|
|
58
|
+
{:mday => 25, :observed => "to_monday_if_weekend(date)", :observed_arguments => [:date], :name => "Christmas Day", :regions => [:au_sa]}]
|
|
60
59
|
}
|
|
61
60
|
end
|
|
62
61
|
|
|
@@ -67,7 +66,9 @@ case year
|
|
|
67
66
|
when 2015
|
|
68
67
|
Date.civil(2015, 10, 2)
|
|
69
68
|
when 2016
|
|
70
|
-
Date.civil(
|
|
69
|
+
Date.civil(2016, 9, 30)
|
|
70
|
+
when 2017
|
|
71
|
+
Date.civil(2017, 9, 29)
|
|
71
72
|
end
|
|
72
73
|
},
|
|
73
74
|
|
|
@@ -13,7 +13,7 @@ module Holidays
|
|
|
13
13
|
# All the definitions are available at https://github.com/holidays/holidays
|
|
14
14
|
module DE # :nodoc:
|
|
15
15
|
def self.defined_regions
|
|
16
|
-
[:de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :
|
|
16
|
+
[:de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld, :de_sn, :de_st, :de_by_augsburg, :de_bb, :de_mv, :de_th]
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def self.holidays_by_month
|
|
@@ -24,7 +24,7 @@ module Holidays
|
|
|
24
24
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:de]},
|
|
25
25
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :type => :informal, :name => "Pfingstsonntag", :regions => [:de]},
|
|
26
26
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:de]},
|
|
27
|
-
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :
|
|
27
|
+
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld]},
|
|
28
28
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -52, :type => :informal, :name => "Weiberfastnacht", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
|
|
29
29
|
{: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]},
|
|
30
30
|
{: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]}],
|
|
@@ -32,7 +32,7 @@ module Holidays
|
|
|
32
32
|
{:mday => 6, :name => "Heilige Drei Könige", :regions => [:de_bw, :de_by, :de_st]}],
|
|
33
33
|
5 => [{:mday => 1, :name => "Tag der Arbeit", :regions => [:de]}],
|
|
34
34
|
8 => [{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]},
|
|
35
|
-
{:mday => 8, :name => "Friedensfest", :regions => [:
|
|
35
|
+
{:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]}],
|
|
36
36
|
10 => [{:mday => 3, :name => "Tag der Deutschen Einheit", :regions => [:de]},
|
|
37
37
|
{:mday => 31, :name => "Reformationstag", :regions => [:de_bb, :de_mv, :de_sn, :de_st, :de_th]},
|
|
38
38
|
{:mday => 31, :type => :informal, :name => "Reformationstag", :regions => [:de_bw]},
|
|
@@ -13,7 +13,7 @@ module Holidays
|
|
|
13
13
|
# All the definitions are available at https://github.com/holidays/holidays
|
|
14
14
|
module EUROPE # :nodoc:
|
|
15
15
|
def self.defined_regions
|
|
16
|
-
[:at, :be_fr, :be_nl, :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, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :
|
|
16
|
+
[:at, :be_fr, :be_nl, :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, :cz, :dk, :de, :de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld, :de_sn, :de_st, :de_by_augsburg, :de_bb, :de_mv, :de_th, :el, :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, :fr, :gb, :gb_eng, :gb_wls, :gb_eaw, :gb_nir, :gb_sct, :gb_con, :je, :gb_jsy, :gg, :gb_gsy, :im, :gb_iom, :hr, :hu, :ie, :is, :it, :li, :lt, :nl, :no, :pl, :pt, :ro, :sk, :si, :bg_en, :bg_bg]
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def self.holidays_by_month
|
|
@@ -57,7 +57,7 @@ module Holidays
|
|
|
57
57
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 39, :name => "Christi Himmelfahrt", :regions => [:de]},
|
|
58
58
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 49, :type => :informal, :name => "Pfingstsonntag", :regions => [:de]},
|
|
59
59
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 50, :name => "Pfingstmontag", :regions => [:de]},
|
|
60
|
-
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :
|
|
60
|
+
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => 60, :name => "Fronleichnam", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld]},
|
|
61
61
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -52, :type => :informal, :name => "Weiberfastnacht", :regions => [:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn]},
|
|
62
62
|
{: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]},
|
|
63
63
|
{: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]},
|
|
@@ -249,7 +249,7 @@ module Holidays
|
|
|
249
249
|
{:mday => 1, :name => "Bundesfeiertag", :regions => [:ch]},
|
|
250
250
|
{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:ch_lu, :ch_ur, :ch_sz, :ch_ow, :ch_nw, :ch_zg, :ch_fr, :ch_so, :ch_ai, :ch_ag, :ch_ti, :ch_vs, :ch_ju]},
|
|
251
251
|
{:mday => 15, :name => "Mariä Himmelfahrt", :regions => [:de_by, :de_sl]},
|
|
252
|
-
{:mday => 8, :name => "Friedensfest", :regions => [:
|
|
252
|
+
{:mday => 8, :name => "Friedensfest", :regions => [:de_by_augsburg]},
|
|
253
253
|
{:mday => 15, :name => "Κοίμηση της Θεοτόκου", :regions => [:el]},
|
|
254
254
|
{:mday => 15, :observed => "to_monday_if_sunday(date)", :observed_arguments => [:date], :name => "Asunción", :regions => [:es]},
|
|
255
255
|
{:mday => 15, :name => "Assomption", :regions => [:fr]},
|
|
@@ -23,13 +23,13 @@ module Holidays
|
|
|
23
23
|
{:function => "easter(year)", :function_arguments => [:year], :function_modifier => -1, :name => "Holy Saturday", :regions => [:ph]},
|
|
24
24
|
{:function => "easter(year)", :function_arguments => [:year], :name => "Easter Sunday", :regions => [:ph]}],
|
|
25
25
|
1 => [{:mday => 1, :name => "New Year’s Day", :regions => [:ph]}],
|
|
26
|
-
2 => [{:mday => 25, :name => "People Power Anniversary", :regions => [:ph]}],
|
|
26
|
+
2 => [{:mday => 25, :type => :informal, :name => "People Power Anniversary", :regions => [:ph]}],
|
|
27
27
|
4 => [{:mday => 9, :name => "The Day of Valor", :regions => [:ph]}],
|
|
28
28
|
5 => [{:mday => 1, :name => "Labor Day", :regions => [:ph]}],
|
|
29
29
|
6 => [{:mday => 12, :name => "Independence Day", :regions => [:ph]}],
|
|
30
30
|
8 => [{:mday => 21, :name => "Ninoy Aquino Day", :regions => [:ph]},
|
|
31
31
|
{:function => "ph_heroes_day(year)", :function_arguments => [:year], :name => "National Heroes Day", :regions => [:ph]}],
|
|
32
|
-
11 => [{:mday => 1, :name => "All Saints Day", :regions => [:ph]},
|
|
32
|
+
11 => [{:mday => 1, :type => :informal, :name => "All Saints Day", :regions => [:ph]},
|
|
33
33
|
{:mday => 30, :name => "Bonifacio Day", :regions => [:ph]}],
|
|
34
34
|
12 => [{:mday => 25, :name => "Christmas Day", :regions => [:ph]},
|
|
35
35
|
{:mday => 30, :name => "Rizal Day", :regions => [:ph]},
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Holidays
|
|
3
|
+
# This file is generated by the Ruby Holidays gem.
|
|
4
|
+
#
|
|
5
|
+
# Definitions loaded: definitions/tn.yaml
|
|
6
|
+
#
|
|
7
|
+
# To use the definitions in this file, load it right after you load the
|
|
8
|
+
# Holiday gem:
|
|
9
|
+
#
|
|
10
|
+
# require 'holidays'
|
|
11
|
+
# require 'generated_definitions/tn'
|
|
12
|
+
#
|
|
13
|
+
# All the definitions are available at https://github.com/holidays/holidays
|
|
14
|
+
module TN # :nodoc:
|
|
15
|
+
def self.defined_regions
|
|
16
|
+
[:tn]
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def self.holidays_by_month
|
|
20
|
+
{
|
|
21
|
+
1 => [{:mday => 1, :name => "Jour de l'an", :regions => [:tn]},
|
|
22
|
+
{:mday => 14, :name => "Fête de la Révolution et de la Jeunesse", :regions => [:tn]}],
|
|
23
|
+
3 => [{:mday => 20, :name => "Fête de l'Indépendance", :regions => [:tn]}],
|
|
24
|
+
4 => [{:mday => 9, :name => "Journée des Martyrs", :regions => [:tn]}],
|
|
25
|
+
5 => [{:mday => 1, :name => "Fête du travail", :regions => [:tn]}],
|
|
26
|
+
7 => [{:mday => 25, :name => "Fête de la République", :regions => [:tn]}],
|
|
27
|
+
8 => [{:mday => 13, :name => "Fête de la Femme et de la Famille", :regions => [:tn]}],
|
|
28
|
+
10 => [{:mday => 15, :name => "Fête de l'Évacuation", :regions => [:tn]}]
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.custom_methods
|
|
33
|
+
{
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -15,7 +15,7 @@ module Holidays
|
|
|
15
15
|
#
|
|
16
16
|
# Also available via Holidays#on.
|
|
17
17
|
def holidays(*options)
|
|
18
|
-
Holidays.on(self, options)
|
|
18
|
+
Holidays.on(self, *options)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
# Check if the current date is a holiday.
|
|
@@ -25,7 +25,7 @@ module Holidays
|
|
|
25
25
|
# Date.civil('2008-01-01').holiday?(:ca)
|
|
26
26
|
# => true
|
|
27
27
|
def holiday?(*options)
|
|
28
|
-
holidays = self.holidays(options)
|
|
28
|
+
holidays = self.holidays(*options)
|
|
29
29
|
holidays && !holidays.empty?
|
|
30
30
|
end
|
|
31
31
|
|
|
@@ -17,13 +17,6 @@ module Holidays
|
|
|
17
17
|
to_next_weekday(date)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
# if Christmas falls on a Sunday, move it to the next Tuesday (Boxing Day will go on Monday)
|
|
21
|
-
# if Christmas falls on a Saturday, move it to the next Monday (Boxing Day will be Sunday and potentially Tuesday)
|
|
22
|
-
# used as a callback function, if xmas is not observed on the 25th
|
|
23
|
-
def xmas_to_weekday_if_weekend(year)
|
|
24
|
-
to_tuesday_if_sunday_or_monday_if_saturday(Date.civil(year, 12, 25))
|
|
25
|
-
end
|
|
26
|
-
|
|
27
20
|
# Move Boxing Day if it falls on a weekend, leaving room for Christmas.
|
|
28
21
|
# Used as a callback function.
|
|
29
22
|
def to_weekday_if_boxing_weekend(date)
|
|
@@ -92,7 +92,7 @@ module Holidays
|
|
|
92
92
|
def load_definition_data(region)
|
|
93
93
|
# Lazy loading of definition files. We verify the region doesn't
|
|
94
94
|
# contain malicious stuff in the initial validation.
|
|
95
|
-
region_definition_file = "#{
|
|
95
|
+
region_definition_file = "#{FULL_DEFINITIONS_PATH}/#{region}"
|
|
96
96
|
require region_definition_file
|
|
97
97
|
|
|
98
98
|
target_region_module = Module.const_get("Holidays").const_get(region.upcase)
|
|
@@ -9,7 +9,15 @@ module Holidays
|
|
|
9
9
|
# When an underscore is encountered, derive the parent regions
|
|
10
10
|
# symbol and check for both.
|
|
11
11
|
requested = requested.collect do |r|
|
|
12
|
-
r.to_s =~ /_/
|
|
12
|
+
if r.to_s =~ /_/
|
|
13
|
+
chunks = r.to_s.split('_')
|
|
14
|
+
|
|
15
|
+
chunks.length.downto(1).map do |num|
|
|
16
|
+
chunks[0..-num].join('_').to_sym
|
|
17
|
+
end
|
|
18
|
+
else
|
|
19
|
+
r
|
|
20
|
+
end
|
|
13
21
|
end
|
|
14
22
|
|
|
15
23
|
requested = requested.flatten.uniq
|
|
@@ -19,7 +19,6 @@ module Holidays
|
|
|
19
19
|
"to_weekday_if_weekend(date)" => weekend_modifier.method(:to_weekday_if_weekend).to_proc,
|
|
20
20
|
"calculate_day_of_month(year, month, day, wday)" => day_of_month_calculator.method(:call).to_proc,
|
|
21
21
|
"to_weekday_if_boxing_weekend_from_year_or_to_tuesday_if_monday(year)" => weekend_modifier.method(:to_weekday_if_boxing_weekend_from_year_or_to_tuesday_if_monday).to_proc,
|
|
22
|
-
"xmas_to_weekday_if_weekend(year)" => weekend_modifier.method(:xmas_to_weekday_if_weekend).to_proc,
|
|
23
22
|
"to_tuesday_if_sunday_or_monday_if_saturday(date)" => weekend_modifier.method(:to_tuesday_if_sunday_or_monday_if_saturday).to_proc,
|
|
24
23
|
}
|
|
25
24
|
|
data/lib/holidays/version.rb
CHANGED
data/test/defs/test_defs_au.rb
CHANGED
|
@@ -75,7 +75,8 @@ assert_equal 'Melbourne Cup Day', Holidays.on(Date.civil(2014,11,4), :au_vic_mel
|
|
|
75
75
|
assert_equal 'Melbourne Cup Day', Holidays.on(Date.civil(2015,11,3), :au_vic_melbourne)[0][:name]
|
|
76
76
|
|
|
77
77
|
assert_equal 'Friday before the AFL Grand Final', Date.civil(2015,10,2).holidays(:au_vic)[0][:name]
|
|
78
|
-
assert_equal 'Friday before the AFL Grand Final', Date.civil(2016,9,
|
|
78
|
+
assert_equal 'Friday before the AFL Grand Final', Date.civil(2016,9,30).holidays(:au_vic)[0][:name]
|
|
79
|
+
assert_equal 'Friday before the AFL Grand Final', Date.civil(2017,9,29).holidays(:au_vic)[0][:name]
|
|
79
80
|
|
|
80
81
|
assert_equal "May Public Holiday", Date.civil(2005, 5, 16).holidays(:au_sa)[0][:name]
|
|
81
82
|
assert_equal [], Date.civil(2014, 5, 19).holidays(:au_sa)
|
|
@@ -92,14 +93,15 @@ assert_equal [], Date.civil(2015, 4, 27).holidays(:au_qld, :observed)
|
|
|
92
93
|
assert_equal "ANZAC Day", Date.civil(2015, 4, 27).holidays(:au_wa, :observed)[0][:name]
|
|
93
94
|
|
|
94
95
|
# BOXING DAY - QLD observes weekend and monday
|
|
95
|
-
assert_equal "Boxing Day", Date.civil(2015, 12, 26).holidays(:au)[0][:name]
|
|
96
|
-
assert_equal "Boxing Day", Date.civil(2015, 12, 28).holidays(:au, :observed)[0][:name]
|
|
97
96
|
assert_equal "Boxing Day", Date.civil(2015, 12, 26).holidays(:au_qld)[0][:name]
|
|
98
97
|
assert_equal "Boxing Day", Date.civil(2015, 12, 28).holidays(:au_qld, :observed)[0][:name]
|
|
99
98
|
|
|
100
99
|
# BOXING DAY - SA gets monday only. same for TAS and NT.
|
|
100
|
+
assert_nil Date.civil(2015, 12, 26).holidays(:au_sa)[0]
|
|
101
101
|
assert_equal "Boxing Day", Date.civil(2015, 12, 28).holidays(:au_sa)[0][:name]
|
|
102
|
+
assert_nil Date.civil(2015, 12, 26).holidays(:au_tas)[0]
|
|
102
103
|
assert_equal "Boxing Day", Date.civil(2015, 12, 28).holidays(:au_tas)[0][:name]
|
|
104
|
+
assert_nil Date.civil(2015, 12, 26).holidays(:au_nt)[0]
|
|
103
105
|
assert_equal "Boxing Day", Date.civil(2015, 12, 28).holidays(:au_nt)[0][:name]
|
|
104
106
|
|
|
105
107
|
assert_equal 'G20 Day', Holidays.on(Date.civil(2014,11,14), :au_qld_brisbane)[0][:name]
|
|
@@ -112,8 +114,6 @@ assert_equal 'Royal Hobart Regatta', Holidays.on(Date.civil(2015, 2, 9), :au_tas
|
|
|
112
114
|
assert_equal 'Royal Hobart Regatta', Holidays.on(Date.civil(2016, 2, 8), :au_tas_south)[0][:name]
|
|
113
115
|
|
|
114
116
|
# CHRISTMAS DAY - ACT, NSW, QLD, Tas, WA observe on 27th (and 25th) if 25th is a Sunday
|
|
115
|
-
assert_equal "Christmas Day", Date.civil(2016, 12, 25).holidays(:au)[0][:name]
|
|
116
|
-
assert_equal "Christmas Day", Date.civil(2016, 12, 27).holidays(:au, :observed)[0][:name]
|
|
117
117
|
assert_equal "Christmas Day", Date.civil(2016, 12, 25).holidays(:au_qld)[0][:name]
|
|
118
118
|
assert_equal "Christmas Day", Date.civil(2016, 12, 27).holidays(:au_qld, :observed)[0][:name]
|
|
119
119
|
assert_equal "Christmas Day", Date.civil(2016, 12, 25).holidays(:au_nsw)[0][:name]
|
|
@@ -130,11 +130,19 @@ assert_equal "Christmas Day", Date.civil(2016, 12, 25).holidays(:au_sa)[0][:name
|
|
|
130
130
|
assert_equal "Christmas Day", Date.civil(2016, 12, 26).holidays(:au_sa, :observed)[0][:name]
|
|
131
131
|
assert_equal "Boxing Day", Date.civil(2016, 12, 27).holidays(:au_sa)[0][:name]
|
|
132
132
|
|
|
133
|
-
# CHRISTMAS DAY - Victoria and NT
|
|
133
|
+
# CHRISTMAS DAY - Victoria and NT now observe both 25th and 27th if weekend
|
|
134
|
+
assert_equal "Christmas Day", Date.civil(2016, 12, 25).holidays(:au_vic)[0][:name]
|
|
135
|
+
assert_equal "Christmas Day", Date.civil(2016, 12, 25).holidays(:au_nt)[0][:name]
|
|
134
136
|
assert_equal "Boxing Day", Date.civil(2016, 12, 26).holidays(:au_vic)[0][:name]
|
|
135
137
|
assert_equal "Boxing Day", Date.civil(2016, 12, 26).holidays(:au_nt)[0][:name]
|
|
136
|
-
assert_equal "Christmas Day", Date.civil(2016, 12, 27).holidays(:au_vic)[0][:name]
|
|
137
|
-
assert_equal "Christmas Day", Date.civil(2016, 12, 27).holidays(:au_nt)[0][:name]
|
|
138
|
-
|
|
138
|
+
assert_equal "Christmas Day", Date.civil(2016, 12, 27).holidays(:au_vic, :observed)[0][:name]
|
|
139
|
+
assert_equal "Christmas Day", Date.civil(2016, 12, 27).holidays(:au_nt, :observed)[0][:name]
|
|
140
|
+
|
|
141
|
+
# NEW YEAR'S DAY - observed on both 1st and 2nd of Jan for 2017
|
|
142
|
+
regions = [:au_qld, :au_nsw, :au_act, :au_vic, :au_tas, :au_sa, :au_wa, :au_nt]
|
|
143
|
+
regions.each do |r|
|
|
144
|
+
assert_equal "New Year's Day", Date.civil(2017, 1, 1).holidays(r)[0][:name]
|
|
145
|
+
assert_equal "New Year's Day", Date.civil(2017, 1, 2).holidays(r, :observed)[0][:name]
|
|
146
|
+
end
|
|
139
147
|
end
|
|
140
148
|
end
|
data/test/defs/test_defs_de.rb
CHANGED
|
@@ -27,7 +27,7 @@ end
|
|
|
27
27
|
assert_equal 'Heilige Drei Könige', Holidays.on(Date.civil(2009,1,6), r)[0][:name]
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_].each do |r|
|
|
30
|
+
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld, :de_].each do |r|
|
|
31
31
|
assert_equal 'Fronleichnam', Holidays.on(Date.civil(2009,6,11), r)[0][:name]
|
|
32
32
|
end
|
|
33
33
|
|
|
@@ -53,7 +53,7 @@ assert_equal [], Holidays.on(Date.civil(2018,10,31), :de), "Reformationstag is n
|
|
|
53
53
|
assert_equal 'Allerheiligen', Holidays.on(Date.civil(2009,11,1), r)[0][:name]
|
|
54
54
|
end
|
|
55
55
|
|
|
56
|
-
[:
|
|
56
|
+
[:de_by_augsburg].each do |r|
|
|
57
57
|
assert_equal 'Friedensfest', Holidays.on(Date.civil(2015,8,8),r)[0][:name]
|
|
58
58
|
end
|
|
59
59
|
|
|
@@ -140,7 +140,7 @@ end
|
|
|
140
140
|
assert_equal 'Heilige Drei Könige', Holidays.on(Date.civil(2009,1,6), r)[0][:name]
|
|
141
141
|
end
|
|
142
142
|
|
|
143
|
-
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_].each do |r|
|
|
143
|
+
[:de_bw, :de_by, :de_he, :de_nw, :de_rp, :de_sl, :de_sn_sorbian, :de_th_eichsfeld, :de_].each do |r|
|
|
144
144
|
assert_equal 'Fronleichnam', Holidays.on(Date.civil(2009,6,11), r)[0][:name]
|
|
145
145
|
end
|
|
146
146
|
|
|
@@ -166,7 +166,7 @@ assert_equal [], Holidays.on(Date.civil(2018,10,31), :de), "Reformationstag is n
|
|
|
166
166
|
assert_equal 'Allerheiligen', Holidays.on(Date.civil(2009,11,1), r)[0][:name]
|
|
167
167
|
end
|
|
168
168
|
|
|
169
|
-
[:
|
|
169
|
+
[:de_by_augsburg].each do |r|
|
|
170
170
|
assert_equal 'Friedensfest', Holidays.on(Date.civil(2015,8,8),r)[0][:name]
|
|
171
171
|
end
|
|
172
172
|
|
data/test/defs/test_defs_ph.rb
CHANGED
|
@@ -7,14 +7,12 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
|
7
7
|
class PhDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
8
8
|
|
|
9
9
|
def test_ph
|
|
10
|
-
{Date.civil(2015,
|
|
11
|
-
Date.civil(2015,4,3) => 'Good Friday',
|
|
10
|
+
{Date.civil(2015,4,3) => 'Good Friday',
|
|
12
11
|
Date.civil(2015,4,9) => 'The Day of Valor',
|
|
13
12
|
Date.civil(2015,5,1) => 'Labor Day',
|
|
14
13
|
Date.civil(2015,6,12) => 'Independence Day',
|
|
15
14
|
Date.civil(2015,8,21) => 'Ninoy Aquino Day',
|
|
16
15
|
Date.civil(2015,8,31) => 'National Heroes Day',
|
|
17
|
-
Date.civil(2015,11,1) => 'All Saints Day',
|
|
18
16
|
Date.civil(2015,11,30) => 'Bonifacio Day',
|
|
19
17
|
Date.civil(2015,12,25) => 'Christmas Day',
|
|
20
18
|
Date.civil(2015,12,30) => 'Rizal Day'}.each do |date, name|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
3
|
+
|
|
4
|
+
# This file is generated by the Ruby Holiday gem.
|
|
5
|
+
#
|
|
6
|
+
# Definitions loaded: definitions/tn.yaml
|
|
7
|
+
class TnDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
8
|
+
|
|
9
|
+
def test_tn
|
|
10
|
+
{Date.civil(2016,1,1) => "Jour de l'an",
|
|
11
|
+
Date.civil(2016,1,14) => "Fête de la Révolution et de la Jeunesse",
|
|
12
|
+
Date.civil(2016,3,20) => "Fête de l'Indépendance",
|
|
13
|
+
Date.civil(2016,4,9) => "Journée des Martyrs",
|
|
14
|
+
Date.civil(2016,5,1) => "Fête du travail",
|
|
15
|
+
Date.civil(2016,7,25) => "Fête de la République",
|
|
16
|
+
Date.civil(2016,8,13) => "Fête de la Femme et de la Famille",
|
|
17
|
+
Date.civil(2016,10,15) => "Fête de l'Évacuation" }.each do |date, name|
|
|
18
|
+
assert_equal name, (Holidays.on(date, :tn)[0] || {})[:name]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -19,6 +19,10 @@ class FinderRulesInRegionTests < Test::Unit::TestCase
|
|
|
19
19
|
def test_returns_true_if_subregion_matches_parent
|
|
20
20
|
assert_equal(true, @subject.call([:test_sub], @available))
|
|
21
21
|
end
|
|
22
|
+
|
|
23
|
+
def test_returns_true_if_subregion_matches_grandparent
|
|
24
|
+
assert_equal(true, @subject.call([:test_sub_sub], @available))
|
|
25
|
+
end
|
|
22
26
|
|
|
23
27
|
def test_returns_true_if_subregion_is_in_available
|
|
24
28
|
assert_equal(true, @subject.call([:test_sub], [:test, :test_sub]))
|
|
@@ -18,6 +18,6 @@ class AvailableRegionsTests < Test::Unit::TestCase
|
|
|
18
18
|
# This test might fail if we add new regions. Since this is an integration test
|
|
19
19
|
# I am fine with that!
|
|
20
20
|
def test_available_regions_returns_correct_number_of_regions
|
|
21
|
-
assert_equal
|
|
21
|
+
assert_equal 295, Holidays.available_regions.count
|
|
22
22
|
end
|
|
23
23
|
end
|
|
@@ -155,17 +155,23 @@ class HolidaysTests < Test::Unit::TestCase
|
|
|
155
155
|
holidays = Holidays.year_holidays([:ca_on], Date.civil(2016, 1, 1))
|
|
156
156
|
assert_equal 11, holidays.length
|
|
157
157
|
|
|
158
|
-
# Should return all
|
|
158
|
+
# Should return all 5 holidays for 2016 in Australia
|
|
159
159
|
holidays = Holidays.year_holidays([:au], Date.civil(2016, 1, 1))
|
|
160
|
-
assert_equal
|
|
160
|
+
assert_equal 5, holidays.length
|
|
161
161
|
end
|
|
162
162
|
|
|
163
163
|
def test_year_holidays_without_specified_year
|
|
164
164
|
# Gets holidays for current year from today's date
|
|
165
|
-
holidays = Holidays.year_holidays([:
|
|
165
|
+
holidays = Holidays.year_holidays([:de])
|
|
166
166
|
assert_equal holidays.first[:date].year, Date.today.year
|
|
167
167
|
end
|
|
168
168
|
|
|
169
|
+
def test_year_holidays_empty
|
|
170
|
+
# if remain holidays is nothing , method will return empty.
|
|
171
|
+
holidays = Holidays.year_holidays([:ca_on], Date.civil(2016, 12, 27))
|
|
172
|
+
assert_empty holidays
|
|
173
|
+
end
|
|
174
|
+
|
|
169
175
|
def test_year_holidays_feb_29_on_non_leap_year
|
|
170
176
|
assert_raises ArgumentError do
|
|
171
177
|
Holidays.year_holidays([:ca_on], Date.civil(2015, 2, 29))
|
|
@@ -264,26 +270,29 @@ class HolidaysTests < Test::Unit::TestCase
|
|
|
264
270
|
end
|
|
265
271
|
|
|
266
272
|
def test_caching
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
options = [:ca, :informal]
|
|
273
|
+
good_friday = Date.civil(2008, 3, 21)
|
|
274
|
+
easter_monday = Date.civil(2008, 3, 24)
|
|
275
|
+
cache_end_date = Date.civil(2008, 3, 25)
|
|
271
276
|
|
|
272
|
-
Holidays.cache_between(
|
|
277
|
+
Holidays.cache_between(good_friday, cache_end_date, :ca, :informal)
|
|
273
278
|
|
|
274
|
-
# Test that correct results are returned outside the
|
|
275
|
-
|
|
276
|
-
assert_equal 1, Holidays.on(Date.civil(2035,1,1), :
|
|
279
|
+
# Test that correct results are returned outside the
|
|
280
|
+
# cache range, and with no caching
|
|
281
|
+
assert_equal 1, Holidays.on(Date.civil(2035, 1, 1), :ca, :informal).length
|
|
282
|
+
assert_equal 1, Holidays.on(Date.civil(2035, 1, 1), :us).length
|
|
277
283
|
|
|
278
|
-
|
|
284
|
+
# Make sure cache is hit for all successive calls
|
|
285
|
+
Holidays::Factory::Finder.expects(:between).never
|
|
279
286
|
|
|
280
287
|
# Test that cache has been set and it returns the same as before
|
|
281
|
-
assert_equal 1, Holidays.on(
|
|
282
|
-
assert_equal 1, Holidays.on(
|
|
288
|
+
assert_equal 1, Holidays.on(good_friday, :ca, :informal).length
|
|
289
|
+
assert_equal 1, Holidays.on(easter_monday, :ca, :informal).length
|
|
290
|
+
assert_equal 1, easter_monday.holidays(:ca, :informal).length
|
|
291
|
+
assert_equal true, easter_monday.holiday?(:ca, :informal)
|
|
283
292
|
end
|
|
284
293
|
|
|
285
294
|
def test_load_all
|
|
286
295
|
Holidays.load_all
|
|
287
|
-
assert_equal
|
|
296
|
+
assert_equal 295, Holidays.available_regions.count
|
|
288
297
|
end
|
|
289
298
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: holidays
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Dunae
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2017-02-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -172,6 +172,7 @@ files:
|
|
|
172
172
|
- lib/generated_definitions/sg.rb
|
|
173
173
|
- lib/generated_definitions/si.rb
|
|
174
174
|
- lib/generated_definitions/sk.rb
|
|
175
|
+
- lib/generated_definitions/tn.rb
|
|
175
176
|
- lib/generated_definitions/united_nations.rb
|
|
176
177
|
- lib/generated_definitions/ups.rb
|
|
177
178
|
- lib/generated_definitions/us.rb
|
|
@@ -272,6 +273,7 @@ files:
|
|
|
272
273
|
- test/defs/test_defs_sg.rb
|
|
273
274
|
- test/defs/test_defs_si.rb
|
|
274
275
|
- test/defs/test_defs_sk.rb
|
|
276
|
+
- test/defs/test_defs_tn.rb
|
|
275
277
|
- test/defs/test_defs_united_nations.rb
|
|
276
278
|
- test/defs/test_defs_ups.rb
|
|
277
279
|
- test/defs/test_defs_us.rb
|
|
@@ -402,6 +404,7 @@ test_files:
|
|
|
402
404
|
- test/defs/test_defs_sg.rb
|
|
403
405
|
- test/defs/test_defs_si.rb
|
|
404
406
|
- test/defs/test_defs_sk.rb
|
|
407
|
+
- test/defs/test_defs_tn.rb
|
|
405
408
|
- test/defs/test_defs_united_nations.rb
|
|
406
409
|
- test/defs/test_defs_ups.rb
|
|
407
410
|
- test/defs/test_defs_us.rb
|