holidays 9.2.0 → 11.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.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +38 -2
  4. data/lib/generated_definitions/MANIFEST +1 -3
  5. data/lib/generated_definitions/REGIONS.rb +2 -2
  6. data/lib/generated_definitions/au.rb +16 -42
  7. data/lib/generated_definitions/europe.rb +2 -10
  8. data/lib/generated_definitions/lu.rb +1 -1
  9. data/lib/generated_definitions/nz.rb +9 -1
  10. data/lib/generated_definitions/pl.rb +3 -11
  11. data/lib/generated_definitions/{vi.rb → vn.rb} +8 -8
  12. data/lib/holidays/date_calculator/lunar_date.rb +1 -1
  13. data/lib/holidays/date_calculator/weekend_modifier.rb +8 -0
  14. data/lib/holidays/definition/context/function_processor.rb +4 -5
  15. data/lib/holidays/definition/context/generator.rb +5 -3
  16. data/lib/holidays/definition/validator/region.rb +1 -1
  17. data/lib/holidays/finder/context/parse_options.rb +1 -1
  18. data/lib/holidays/finder/context/year_holiday.rb +1 -1
  19. data/lib/holidays/finder/rules/in_region.rb +1 -1
  20. data/lib/holidays/version.rb +1 -1
  21. metadata +4 -316
  22. data/.github/workflows/changelog-check.yml +0 -47
  23. data/.github/workflows/release.yml +0 -46
  24. data/.github/workflows/ruby.yml +0 -26
  25. data/.gitmodules +0 -3
  26. data/CODE_OF_CONDUCT.md +0 -74
  27. data/Gemfile +0 -8
  28. data/Makefile +0 -60
  29. data/Rakefile +0 -137
  30. data/bin/console +0 -7
  31. data/bin/setup +0 -6
  32. data/doc/CONTRIBUTING.md +0 -72
  33. data/doc/MAINTAINERS.md +0 -79
  34. data/doc/REFERENCES +0 -19
  35. data/holidays.gemspec +0 -31
  36. data/lib/generated_definitions/be.rb +0 -42
  37. data/lib/generated_definitions/el.rb +0 -38
  38. data/test/coverage_report.rb +0 -24
  39. data/test/data/test_custom_year_range_holiday_defs.yaml +0 -31
  40. data/test/data/test_date_transform_conflict_region_1.yaml +0 -14
  41. data/test/data/test_date_transform_conflict_region_2.yaml +0 -14
  42. data/test/data/test_invalid_region.rb +0 -15
  43. data/test/data/test_region.rb +0 -15
  44. data/test/data/test_single_custom_holiday_defs.yaml +0 -12
  45. data/test/data/test_single_custom_holiday_with_custom_procs.yaml +0 -28
  46. data/test/defs/test_defs_ar.rb +0 -69
  47. data/test/defs/test_defs_at.rb +0 -31
  48. data/test/defs/test_defs_au.rb +0 -233
  49. data/test/defs/test_defs_be_fr.rb +0 -45
  50. data/test/defs/test_defs_be_nl.rb +0 -45
  51. data/test/defs/test_defs_bg.rb +0 -41
  52. data/test/defs/test_defs_br.rb +0 -49
  53. data/test/defs/test_defs_ca.rb +0 -289
  54. data/test/defs/test_defs_ch.rb +0 -51
  55. data/test/defs/test_defs_cl.rb +0 -69
  56. data/test/defs/test_defs_co.rb +0 -113
  57. data/test/defs/test_defs_cr.rb +0 -29
  58. data/test/defs/test_defs_cy.rb +0 -41
  59. data/test/defs/test_defs_cz.rb +0 -37
  60. data/test/defs/test_defs_de.rb +0 -91
  61. data/test/defs/test_defs_dk.rb +0 -47
  62. data/test/defs/test_defs_ecbtarget.rb +0 -27
  63. data/test/defs/test_defs_ee.rb +0 -41
  64. data/test/defs/test_defs_es.rb +0 -137
  65. data/test/defs/test_defs_europe.rb +0 -1530
  66. data/test/defs/test_defs_fed_ex.rb +0 -24
  67. data/test/defs/test_defs_federalreserve.rb +0 -119
  68. data/test/defs/test_defs_federalreservebanks.rb +0 -251
  69. data/test/defs/test_defs_fedex.rb +0 -31
  70. data/test/defs/test_defs_fi.rb +0 -59
  71. data/test/defs/test_defs_fr.rb +0 -43
  72. data/test/defs/test_defs_gb.rb +0 -163
  73. data/test/defs/test_defs_ge.rb +0 -53
  74. data/test/defs/test_defs_gr.rb +0 -41
  75. data/test/defs/test_defs_hk.rb +0 -93
  76. data/test/defs/test_defs_hr.rb +0 -45
  77. data/test/defs/test_defs_hu.rb +0 -47
  78. data/test/defs/test_defs_ie.rb +0 -53
  79. data/test/defs/test_defs_il.rb +0 -35
  80. data/test/defs/test_defs_in.rb +0 -94
  81. data/test/defs/test_defs_is.rb +0 -51
  82. data/test/defs/test_defs_it.rb +0 -57
  83. data/test/defs/test_defs_jp.rb +0 -159
  84. data/test/defs/test_defs_ke.rb +0 -31
  85. data/test/defs/test_defs_kr.rb +0 -37
  86. data/test/defs/test_defs_kz.rb +0 -39
  87. data/test/defs/test_defs_li.rb +0 -35
  88. data/test/defs/test_defs_lt.rb +0 -65
  89. data/test/defs/test_defs_lu.rb +0 -35
  90. data/test/defs/test_defs_lv.rb +0 -98
  91. data/test/defs/test_defs_ma.rb +0 -29
  92. data/test/defs/test_defs_mc.rb +0 -43
  93. data/test/defs/test_defs_mt_en.rb +0 -41
  94. data/test/defs/test_defs_mt_mt.rb +0 -41
  95. data/test/defs/test_defs_mx.rb +0 -49
  96. data/test/defs/test_defs_my.rb +0 -23
  97. data/test/defs/test_defs_nerc.rb +0 -29
  98. data/test/defs/test_defs_ng.rb +0 -29
  99. data/test/defs/test_defs_nl.rb +0 -33
  100. data/test/defs/test_defs_no.rb +0 -43
  101. data/test/defs/test_defs_northamerica.rb +0 -679
  102. data/test/defs/test_defs_nyse.rb +0 -46
  103. data/test/defs/test_defs_nz.rb +0 -67
  104. data/test/defs/test_defs_pe.rb +0 -47
  105. data/test/defs/test_defs_ph.rb +0 -29
  106. data/test/defs/test_defs_pl.rb +0 -229
  107. data/test/defs/test_defs_pt.rb +0 -47
  108. data/test/defs/test_defs_ro.rb +0 -69
  109. data/test/defs/test_defs_rs_cyrl.rb +0 -46
  110. data/test/defs/test_defs_rs_la.rb +0 -46
  111. data/test/defs/test_defs_ru.rb +0 -34
  112. data/test/defs/test_defs_scandinavia.rb +0 -215
  113. data/test/defs/test_defs_se.rb +0 -59
  114. data/test/defs/test_defs_sg.rb +0 -25
  115. data/test/defs/test_defs_si.rb +0 -105
  116. data/test/defs/test_defs_sk.rb +0 -37
  117. data/test/defs/test_defs_southamerica.rb +0 -327
  118. data/test/defs/test_defs_th.rb +0 -33
  119. data/test/defs/test_defs_tn.rb +0 -27
  120. data/test/defs/test_defs_tr.rb +0 -60
  121. data/test/defs/test_defs_tsx.rb +0 -70
  122. data/test/defs/test_defs_ua.rb +0 -41
  123. data/test/defs/test_defs_unitednations.rb +0 -11
  124. data/test/defs/test_defs_ups.rb +0 -31
  125. data/test/defs/test_defs_us.rb +0 -399
  126. data/test/defs/test_defs_ve.rb +0 -35
  127. data/test/defs/test_defs_vi.rb +0 -22
  128. data/test/defs/test_defs_za.rb +0 -35
  129. data/test/e2e/README.md +0 -52
  130. data/test/e2e/data/test_multiple_regions_with_conflicts_region_1.yaml +0 -38
  131. data/test/e2e/data/test_multiple_regions_with_conflicts_region_2.yaml +0 -38
  132. data/test/e2e/data/test_multiple_regions_with_conflicts_region_3.yaml +0 -38
  133. data/test/e2e/test_all_regions.rb +0 -49
  134. data/test/e2e/test_any_holidays_during_work_week.rb +0 -90
  135. data/test/e2e/test_holidays.rb +0 -244
  136. data/test/e2e/test_holidays_between.rb +0 -87
  137. data/test/e2e/test_multiple_regions.rb +0 -71
  138. data/test/e2e/test_multiple_regions_with_conflict.rb +0 -228
  139. data/test/e2e/test_nonstandard_regions.rb +0 -25
  140. data/test/holidays/core_extensions/test_date.rb +0 -122
  141. data/test/holidays/core_extensions/test_date_time.rb +0 -60
  142. data/test/holidays/date_calculator/test_day_of_month.rb +0 -27
  143. data/test/holidays/date_calculator/test_easter_gregorian.rb +0 -30
  144. data/test/holidays/date_calculator/test_easter_julian.rb +0 -36
  145. data/test/holidays/date_calculator/test_lunar_date.rb +0 -89
  146. data/test/holidays/date_calculator/test_weekend_modifier.rb +0 -54
  147. data/test/holidays/definition/context/test_function_processor.rb +0 -199
  148. data/test/holidays/definition/context/test_generator.rb +0 -226
  149. data/test/holidays/definition/context/test_load.rb +0 -37
  150. data/test/holidays/definition/context/test_merger.rb +0 -25
  151. data/test/holidays/definition/decorator/test_custom_method_proc.rb +0 -113
  152. data/test/holidays/definition/decorator/test_custom_method_source.rb +0 -96
  153. data/test/holidays/definition/decorator/test_test.rb +0 -123
  154. data/test/holidays/definition/generator/test_module.rb +0 -268
  155. data/test/holidays/definition/generator/test_regions.rb +0 -97
  156. data/test/holidays/definition/generator/test_test.rb +0 -113
  157. data/test/holidays/definition/parser/test_custom_method.rb +0 -79
  158. data/test/holidays/definition/parser/test_test.rb +0 -142
  159. data/test/holidays/definition/repository/test_cache.rb +0 -123
  160. data/test/holidays/definition/repository/test_custom_methods.rb +0 -43
  161. data/test/holidays/definition/repository/test_holidays_by_month.rb +0 -275
  162. data/test/holidays/definition/repository/test_proc_result_cache.rb +0 -91
  163. data/test/holidays/definition/repository/test_regions.rb +0 -104
  164. data/test/holidays/definition/validator/test_custom_method.rb +0 -94
  165. data/test/holidays/definition/validator/test_region.rb +0 -54
  166. data/test/holidays/definition/validator/test_test.rb +0 -60
  167. data/test/holidays/finder/context/test_between.rb +0 -172
  168. data/test/holidays/finder/context/test_dates_driver_builder.rb +0 -91
  169. data/test/holidays/finder/context/test_next_holiday.rb +0 -156
  170. data/test/holidays/finder/context/test_parse_options.rb +0 -141
  171. data/test/holidays/finder/context/test_search.rb +0 -290
  172. data/test/holidays/finder/context/test_year_holiday.rb +0 -202
  173. data/test/holidays/finder/rules/test_in_region.rb +0 -42
  174. data/test/holidays/finder/rules/test_year_range.rb +0 -166
  175. data/test/integration/README.md +0 -48
  176. data/test/integration/data/test_custom_govt_holiday_defs.yaml +0 -5
  177. data/test/integration/data/test_custom_informal_holidays_defs.yaml +0 -11
  178. data/test/integration/data/test_multiple_custom_holiday_defs.yaml +0 -12
  179. data/test/integration/test_custom_holidays.rb +0 -41
  180. data/test/integration/test_custom_informal_holidays.rb +0 -15
  181. data/test/integration/test_custom_year_range_holidays.rb +0 -35
  182. data/test/smoke/README.md +0 -31
  183. data/test/smoke/test_available_regions.rb +0 -18
  184. data/test/smoke/test_smoke.rb +0 -74
  185. data/test/test_helper.rb +0 -37
@@ -1,74 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
2
-
3
- class SmokeTests < Test::Unit::TestCase
4
- SAMPLE_DATES = [
5
- Date.civil(2023, 1, 1),
6
- Date.civil(2023, 7, 4),
7
- Date.civil(2023, 12, 25),
8
- ]
9
-
10
- def setup
11
- Holidays.load_all
12
- @regions = Holidays.available_regions
13
- end
14
-
15
- def test_all_regions_load_without_error
16
- assert @regions.is_a?(Array)
17
- assert @regions.count > 0
18
- assert @regions.all? { |r| r.is_a?(Symbol) }
19
- end
20
-
21
- def test_holidays_on_does_not_raise_for_any_region
22
- @regions.each do |region|
23
- SAMPLE_DATES.each do |date|
24
- assert_nothing_raised("Holidays.on raised for :#{region} on #{date}") do
25
- result = Holidays.on(date, region)
26
- assert result.is_a?(Array)
27
- end
28
- end
29
- end
30
- end
31
-
32
- def test_holidays_between_does_not_raise_for_any_region
33
- start_date = Date.civil(2023, 1, 1)
34
- end_date = Date.civil(2023, 12, 31)
35
-
36
- @regions.each do |region|
37
- assert_nothing_raised("Holidays.between raised for :#{region}") do
38
- result = Holidays.between(start_date, end_date, region)
39
- assert result.is_a?(Array)
40
- end
41
- end
42
- end
43
-
44
- def test_observed_flag_does_not_raise_for_any_region
45
- @regions.each do |region|
46
- SAMPLE_DATES.each do |date|
47
- assert_nothing_raised("Holidays.on with :observed raised for :#{region} on #{date}") do
48
- Holidays.on(date, region, :observed)
49
- end
50
- end
51
- end
52
- end
53
-
54
- def test_informal_flag_does_not_raise_for_any_region
55
- @regions.each do |region|
56
- SAMPLE_DATES.each do |date|
57
- assert_nothing_raised("Holidays.on with :informal raised for :#{region} on #{date}") do
58
- Holidays.on(date, region, :informal)
59
- end
60
- end
61
- end
62
- end
63
-
64
- def test_any_region_count_meets_or_exceeds_each_individual_region
65
- start_date = Date.civil(2023, 1, 1)
66
- end_date = Date.civil(2023, 12, 31)
67
- any_count = Holidays.between(start_date, end_date, :any).count
68
-
69
- @regions.each do |region|
70
- region_count = Holidays.between(start_date, end_date, region).count
71
- assert any_count >= region_count, ":any count (#{any_count}) is less than :#{region} count (#{region_count})"
72
- end
73
- end
74
- end
data/test/test_helper.rb DELETED
@@ -1,37 +0,0 @@
1
- require File.dirname(__FILE__) + '/coverage_report'
2
-
3
- $:.unshift(File.expand_path(File.dirname(__FILE__) + '../../lib/'))
4
-
5
- $KCODE = 'u' if RUBY_VERSION =~ /^1\.8/
6
-
7
- require 'rubygems'
8
- require 'test/unit'
9
- require 'mocha/test_unit'
10
- require 'date'
11
- require 'holidays'
12
- require 'holidays/core_extensions/date'
13
- require 'holidays/core_extensions/time'
14
-
15
- # Loads core extension for use in various definition tests as necessary
16
- class Date
17
- include Holidays::CoreExtensions::Date
18
- end
19
-
20
- class Time
21
- include Holidays::CoreExtensions::Time
22
- end
23
-
24
- module Holidays
25
- # Test region used for generating a holiday on Date.today
26
- module Test # :nodoc:
27
- DEFINED_REGIONS = [:test]
28
-
29
- HOLIDAYS_BY_MONTH = {
30
- Date.today.mon => [{:mday => Date.today.mday, :name => "Test Holiday", :regions => [:test]}]
31
- }
32
-
33
- CUSTOM_METHODS = {}
34
- end
35
- end
36
-
37
- Holidays::Factory::Definition.merger.call(Holidays::Test::DEFINED_REGIONS, Holidays::Test::HOLIDAYS_BY_MONTH, Holidays::Test::CUSTOM_METHODS)