holidays 3.1.2 → 3.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9375295866b446c7a50f08a7e20b4dbecb97d2f
4
- data.tar.gz: 3b82fcc48186210c139631fff93aba145c5d1b39
3
+ metadata.gz: 371634066d0abbf2aa11ace0e06461808a38a69a
4
+ data.tar.gz: 2abd58ba908382b7b3c2a265c41d7a48652332ed
5
5
  SHA512:
6
- metadata.gz: b1a141005e644cf21ae5b62fcf1998528ef8694e5e32d0242802761a9519e21e2bd862ac606234dc03fb43ba149844e33be066f30939641286b5813ddced2590
7
- data.tar.gz: b3d481b65dfdd56aa7d24f89f979adc8629885e35f5fd4180a5cddf45663766eea2ff8f6e950c09d31573e8cab55a5b567898a31e6d252ef3e18c10a52f2de04
6
+ metadata.gz: 03b8ea83d6100f4308ac35dbc01c0eeaefa75dc6263457457fa12e6cd6bf5a3000aedc570bc841d0c4357abffad09e796cd622957dcd5256ae92630f8ebdef0f
7
+ data.tar.gz: d893607cb825d6f73c020bad7dff40dec30f032fa0e4c6ab9d6524d3e7b9bafd8111f0c397410ab5676e01b0395434db0b12b7f8a1413f6d1b2d45f58e4ba90f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Ruby Holidays Gem CHANGELOG
2
2
 
3
+ ## 3.2.0
4
+
5
+ * add 'valid year' functionality to definitions - https://github.com/holidays/holidays/issues/33 - (thanks to https://github.com/ttwo32)
6
+ * Fix 'day after thanksgiving' namespace bug during definition generation (thanks to https://github.com/ttwo32)
7
+ * fix Danish holidays 'palmesondag and 1/5 (danish fightday)' to set to informal (thanks to https://github.com/bjensen)
8
+
3
9
  ## 3.1.2
4
10
 
5
11
  * Do not require Date monkeypatching in definitions to use mday calculations (thanks to https://github.com/CloCkWeRX)
data/README.md CHANGED
@@ -12,7 +12,7 @@ To install the gem from RubyGems:
12
12
 
13
13
  gem install holidays
14
14
 
15
- The Holidays gem is tested on Ruby 2.0.0, 2.1.0, 2.2.0 and JRuby.
15
+ The Holidays gem is tested on Ruby 2.0.0, 2.1.0, 2.2.0, 2.3.0 and JRuby.
16
16
 
17
17
  ## Time zones
18
18
 
data/definitions/dk.yaml CHANGED
@@ -15,6 +15,7 @@ months:
15
15
  - name: Palmesøndag
16
16
  regions: [dk]
17
17
  function: easter(year)-7
18
+ type: informal
18
19
  - name: Skærtorsdag
19
20
  regions: [dk]
20
21
  function: easter(year)-3
@@ -60,6 +61,7 @@ months:
60
61
  - name: Arbejdernes kampdag
61
62
  regions: [dk]
62
63
  mday: 1
64
+ type: informal
63
65
  - name: Danmarks befrielse
64
66
  regions: [dk]
65
67
  mday: 5
@@ -45,7 +45,7 @@ months:
45
45
  methods:
46
46
  day_after_thanksgiving: |
47
47
  def self.day_after_thanksgiving(year)
48
- Date.calculate_mday(year, 11, 4, 4) + 1
48
+ Holidays::DateCalculatorFactory.day_of_month_calculator.call(year, 11, 4, 4) + 1
49
49
  end
50
50
  tests: |
51
51
  {Date.civil(2015,1,1) => 'New Year\'s Day',
data/definitions/jp.yaml CHANGED
@@ -76,9 +76,13 @@ months:
76
76
  8:
77
77
  - name: 山の日
78
78
  regions: [jp]
79
+ year_ranges:
80
+ - after: 2016
79
81
  function: jp_mountain_holiday(year)
80
82
  - name: 振替休日
81
83
  regions: [jp]
84
+ year_ranges:
85
+ - after: 2016
82
86
  function: jp_substitute_holiday(Holidays.jp_mountain_holiday(year))
83
87
  9:
84
88
  - name: 敬老の日
@@ -176,7 +180,6 @@ methods:
176
180
  end
177
181
  jp_mountain_holiday: |
178
182
  def self.jp_mountain_holiday(year)
179
- return nil if year < 2016
180
183
  Date.civil(year, 8, 11)
181
184
  end
182
185
  jp_substitute_holiday: |
data/definitions/ups.yaml CHANGED
@@ -45,7 +45,7 @@ months:
45
45
  methods:
46
46
  day_after_thanksgiving: |
47
47
  def self.day_after_thanksgiving(year)
48
- Date.calculate_mday(year, 11, 4, 4) + 1
48
+ Holidays::DateCalculatorFactory.day_of_month_calculator.call(year, 11, 4, 4) + 1
49
49
  end
50
50
  tests: |
51
51
  {Date.civil(2008,1,1) => 'New Year\'s Day',
@@ -19,7 +19,7 @@ module Holidays
19
19
  def self.holidays_by_month
20
20
  {
21
21
  0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk]},
22
- {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk]},
22
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :type => :informal, :name => "Palmesøndag", :regions => [:dk]},
23
23
  {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
24
24
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Langfredag", :regions => [:dk]},
25
25
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskedag", :regions => [:dk]},
@@ -32,7 +32,7 @@ module Holidays
32
32
  4 => [{:mday => 1, :type => :informal, :name => "1. april", :regions => [:dk]},
33
33
  {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
34
34
  {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]}],
35
- 5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
35
+ 5 => [{:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
36
36
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]}],
37
37
  6 => [{:mday => 5, :type => :informal, :name => "Grundlovsdag", :regions => [:dk]},
38
38
  {:mday => 15, :type => :informal, :name => "Valdemarsdag og Genforeningsdag", :regions => [:dk]},
@@ -36,7 +36,7 @@ module Holidays
36
36
  {:function => lambda { |year| Holidays.ch_ge_jeune_genevois(year) }, :function_id => "ch_ge_jeune_genevois(year)", :name => "Jeûne genevois", :regions => [:ch_ge]},
37
37
  {:function => lambda { |year| Holidays.easter(year)+1 }, :function_id => "easter(year)+1", :name => "Velikonoční pondělí", :regions => [:cz]},
38
38
  {:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk]},
39
- {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk]},
39
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :type => :informal, :name => "Palmesøndag", :regions => [:dk]},
40
40
  {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
41
41
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Langfredag", :regions => [:dk]},
42
42
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskedag", :regions => [:dk]},
@@ -190,7 +190,7 @@ module Holidays
190
190
  {:mday => 1, :name => "Tag der Arbeit", :regions => [:ch_zh, :ch_bs, :ch_bl, :ch_sh, :ch_ag, :ch_tg, :ch_ti, :ch_ne, :ch_ju]},
191
191
  {:mday => 1, :name => "Svátek práce", :regions => [:cz]},
192
192
  {:mday => 8, :name => "Den vítězství", :regions => [:cz]},
193
- {:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
193
+ {:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
194
194
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
195
195
  {:mday => 1, :name => "Tag der Arbeit", :regions => [:de]},
196
196
  {:mday => 1, :name => "Πρωτομαγιά", :regions => [:el]},
@@ -35,8 +35,8 @@ module Holidays
35
35
  {:function => lambda { |year| Holidays.jp_substitute_holiday(year, 5, 5) }, :function_id => "jp_substitute_holiday(year, 5, 5)", :name => "振替休日", :regions => [:jp]}],
36
36
  7 => [{:wday => 1, :week => 3, :name => "海の日", :regions => [:jp]},
37
37
  {:function => lambda { |year| Holidays.jp_substitute_holiday(year, 7, Holidays.calculate_day_of_month(year, 7, 3, 1)) }, :function_id => "jp_substitute_holiday(year, 7, Holidays.calculate_day_of_month(year, 7, 3, 1))", :name => "振替休日", :regions => [:jp]}],
38
- 8 => [{:function => lambda { |year| Holidays.jp_mountain_holiday(year) }, :function_id => "jp_mountain_holiday(year)", :name => "山の日", :regions => [:jp]},
39
- {:function => lambda { |year| Holidays.jp_substitute_holiday(Holidays.jp_mountain_holiday(year)) }, :function_id => "jp_substitute_holiday(Holidays.jp_mountain_holiday(year))", :name => "振替休日", :regions => [:jp]}],
38
+ 8 => [{:function => lambda { |year| Holidays.jp_mountain_holiday(year) }, :function_id => "jp_mountain_holiday(year)", :year_ranges => [{:after => 2016}],:name => "山の日", :regions => [:jp]},
39
+ {:function => lambda { |year| Holidays.jp_substitute_holiday(Holidays.jp_mountain_holiday(year)) }, :function_id => "jp_substitute_holiday(Holidays.jp_mountain_holiday(year))", :year_ranges => [{:after => 2016}],:name => "振替休日", :regions => [:jp]}],
40
40
  9 => [{:wday => 1, :week => 3, :name => "敬老の日", :regions => [:jp]},
41
41
  {:function => lambda { |year| Holidays.jp_substitute_holiday(year, 9, Holidays.calculate_day_of_month(year, 9, 3, 1)) }, :function_id => "jp_substitute_holiday(year, 9, Holidays.calculate_day_of_month(year, 9, 3, 1))", :name => "振替休日", :regions => [:jp]},
42
42
  {:function => lambda { |year| Holidays.jp_citizons_holiday(year) }, :function_id => "jp_citizons_holiday(year)", :name => "国民の休日", :regions => [:jp]},
@@ -106,7 +106,6 @@ end
106
106
 
107
107
 
108
108
  def self.jp_mountain_holiday(year)
109
- return nil if year < 2016
110
109
  Date.civil(year, 8, 11)
111
110
  end
112
111
 
@@ -19,7 +19,7 @@ module Holidays
19
19
  def self.holidays_by_month
20
20
  {
21
21
  0 => [{:function => lambda { |year| Holidays.easter(year)-49 }, :function_id => "easter(year)-49", :type => :informal, :name => "Fastelavn", :regions => [:dk]},
22
- {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :name => "Palmesøndag", :regions => [:dk]},
22
+ {:function => lambda { |year| Holidays.easter(year)-7 }, :function_id => "easter(year)-7", :type => :informal, :name => "Palmesøndag", :regions => [:dk]},
23
23
  {:function => lambda { |year| Holidays.easter(year)-3 }, :function_id => "easter(year)-3", :name => "Skærtorsdag", :regions => [:dk]},
24
24
  {:function => lambda { |year| Holidays.easter(year)-2 }, :function_id => "easter(year)-2", :name => "Langfredag", :regions => [:dk]},
25
25
  {:function => lambda { |year| Holidays.easter(year) }, :function_id => "easter(year)", :name => "Påskedag", :regions => [:dk]},
@@ -74,7 +74,7 @@ module Holidays
74
74
  {:mday => 9, :type => :informal, :name => "Danmarks besættelse", :regions => [:dk]},
75
75
  {:mday => 16, :type => :informal, :name => "Dronningens fødselsdag", :regions => [:dk]},
76
76
  {:function => lambda { |year| Holidays.is_sumardagurinn_fyrsti(year) }, :function_id => "is_sumardagurinn_fyrsti(year)", :name => "Sumardagurinn fyrsti", :regions => [:is]}],
77
- 5 => [{:mday => 1, :name => "Arbejdernes kampdag", :regions => [:dk]},
77
+ 5 => [{:mday => 1, :type => :informal, :name => "Arbejdernes kampdag", :regions => [:dk]},
78
78
  {:mday => 5, :type => :informal, :name => "Danmarks befrielse", :regions => [:dk]},
79
79
  {:mday => 1, :name => "Verkalýðsdagurinn", :regions => [:is]},
80
80
  {:mday => 13, :name => "Mæðradagurinn", :regions => [:is]},
@@ -130,6 +130,20 @@ module Holidays
130
130
  string << ":wday => #{rule[:wday]}, :week => #{rule[:week]}, "
131
131
  end
132
132
 
133
+ if rule[:year_ranges] && rule[:year_ranges].kind_of?(Array)
134
+ year_string = " :year_ranges => ["
135
+ len = rule[:year_ranges].length
136
+ rule[:year_ranges].each_with_index do |year,index|
137
+ year_string << "{:#{year.keys.first} => #{year.values.first}}"
138
+ if len == index + 1
139
+ year_string << "],"
140
+ else
141
+ year_string << ","
142
+ end
143
+ end
144
+ string << year_string
145
+ end
146
+
133
147
  if rule[:observed]
134
148
  string << ":observed => lambda { |date| Holidays.#{rule[:observed]}(date) }, "
135
149
  string << ":observed_id => \"#{rule[:observed].to_s}\", "
@@ -16,17 +16,38 @@ module Holidays
16
16
  dates_driver.each do |year, months|
17
17
  months.each do |month|
18
18
  next unless hbm = holidays_by_month_repo.find_by_month(month)
19
-
20
19
  hbm.each do |h|
21
20
  next unless in_region?(regions, h[:regions])
22
21
 
23
22
  # Skip informal holidays unless they have been requested
24
23
  next if h[:type] == :informal and not informal
25
24
 
25
+ # range check feature.
26
+ if h[:year_ranges]
27
+ valid_range_year = false
28
+ h[:year_ranges].each do |year_range|
29
+ next unless year_range.is_a?(Hash) && year_range.length == 1
30
+ next unless year_range.select{
31
+ |operator,year|[:before,"before",:after,"after",:limited,"limited",:between,"between"].include?(operator)}.count > 0
32
+ case year_range.keys.first
33
+ when :before,"before"
34
+ valid_range_year = true if year <= year_range[year_range.keys.first]
35
+ when :after,"after"
36
+ valid_range_year = true if year >= year_range[year_range.keys.first]
37
+ when :limited,"limited"
38
+ valid_range_year = true if year_range[year_range.keys.first].include?(year)
39
+ when :between,"between"
40
+ year_range[year_range.keys.first] = Range.new(*year_range[year_range.keys.first].split("..").map(&:to_i)) if year_range[year_range.keys.first].is_a?(String)
41
+ valid_range_year = true if year_range[year_range.keys.first].cover?(year)
42
+ end
43
+ break if valid_range_year
44
+ end
45
+ next unless valid_range_year
46
+ end
47
+
26
48
  if h[:function]
27
49
  # Holiday definition requires a calculation
28
50
  result = call_proc(h[:function], year)
29
-
30
51
  # Procs may return either Date or an integer representing mday
31
52
  if result.kind_of?(Date)
32
53
  month = result.month
@@ -1,3 +1,3 @@
1
1
  module Holidays
2
- VERSION = '3.1.2'
2
+ VERSION = '3.2.0'
3
3
  end
@@ -0,0 +1,28 @@
1
+ months:
2
+ 6:
3
+ - name: after_year
4
+ regions: [custom_year_range_file]
5
+ mday: 1
6
+ year_ranges:
7
+ - after: 2016
8
+ - name: before_year
9
+ regions: [custom_year_range_file]
10
+ mday: 2
11
+ year_ranges:
12
+ - before: 2017
13
+ - name: between_year
14
+ regions: [custom_year_range_file]
15
+ mday: 3
16
+ year_ranges:
17
+ - between: 2016..2018
18
+ - name: limited_year
19
+ regions: [custom_year_range_file]
20
+ mday: 4
21
+ year_ranges:
22
+ - limited: [2016,2018,2019]
23
+ - name: multiple_conditions
24
+ regions: [custom_year_range_file]
25
+ mday: 5
26
+ year_ranges:
27
+ - before: 2015
28
+ - after: 2017
@@ -81,4 +81,56 @@ class GeneratorTests < Test::Unit::TestCase
81
81
 
82
82
  assert_equal expected_test_src, test_src
83
83
  end
84
+
85
+ def test_parse_definitions_files_correctly_parse_year_range_by_month
86
+ files = ['test/data/test_custom_year_range_holiday_defs.yaml']
87
+ regions, rules_by_month, custom_methods, tests = @generator.parse_definition_files(files)
88
+
89
+ expected_rules_by_month = {
90
+ 6 => [
91
+ {
92
+ :name => "after_year",
93
+ :regions => [:custom_year_range_file],
94
+ :mday => 1,
95
+ :year_ranges => [{"after" => 2016}]
96
+ },
97
+ {
98
+ :name => "before_year",
99
+ :regions => [:custom_year_range_file],
100
+ :mday => 2,
101
+ :year_ranges => [{"before" => 2017}]
102
+ },
103
+ {
104
+ :name => "between_year",
105
+ :regions => [:custom_year_range_file],
106
+ :mday => 3,
107
+ :year_ranges => [{"between" => "2016..2018"}]
108
+ },
109
+ {
110
+ :name => "limited_year",
111
+ :regions => [:custom_year_range_file],
112
+ :mday => 4,
113
+ :year_ranges => [{"limited" => [2016,2018,2019]}]
114
+ },
115
+ {
116
+ :name => "multiple_conditions",
117
+ :regions => [:custom_year_range_file],
118
+ :mday => 5,
119
+ :year_ranges => [{"before" => 2015}, {"after" => 2017}]
120
+ }
121
+ ]
122
+ }
123
+
124
+ assert_equal expected_rules_by_month, rules_by_month
125
+ end
126
+
127
+ def test_generate_definition_source_correctly_genrate_yearrange_test_src
128
+ files = ['test/data/test_custom_year_range_holiday_defs.yaml']
129
+ regions, rules_by_month, custom_methods, tests = @generator.parse_definition_files(files)
130
+ module_src, test_src = @generator.generate_definition_source("test", files, regions, rules_by_month, custom_methods, tests)
131
+ expected_module_src = "# encoding: utf-8\nmodule Holidays\n # This file is generated by the Ruby Holidays gem.\n #\n # Definitions loaded: test/data/test_custom_year_range_holiday_defs.yaml\n #\n # To use the definitions in this file, load it right after you load the\n # Holiday gem:\n #\n # require 'holidays'\n # require 'generated_definitions/test'\n #\n # All the definitions are available at https://github.com/alexdunae/holidays\n module TEST # :nodoc:\n def self.defined_regions\n [:custom_year_range_file]\n end\n\n def self.holidays_by_month\n {\n 6 => [{:mday => 1, :year_ranges => [{:after => 2016}],:name => \"after_year\", :regions => [:custom_year_range_file]},\n {:mday => 2, :year_ranges => [{:before => 2017}],:name => \"before_year\", :regions => [:custom_year_range_file]},\n {:mday => 3, :year_ranges => [{:between => 2016..2018}],:name => \"between_year\", :regions => [:custom_year_range_file]},\n {:mday => 4, :year_ranges => [{:limited => [2016, 2018, 2019]}],:name => \"limited_year\", :regions => [:custom_year_range_file]},\n {:mday => 5, :year_ranges => [{:before => 2015},{:after => 2017}],:name => \"multiple_conditions\", :regions => [:custom_year_range_file]}]\n }\n end\n end\n\n\nend\n\nHolidays.merge_defs(Holidays::TEST.defined_regions, Holidays::TEST.holidays_by_month)\n"
132
+
133
+ assert_equal expected_module_src, module_src
134
+ end
135
+
84
136
  end
@@ -0,0 +1,43 @@
1
+ require File.expand_path(File.dirname(__FILE__)) + '/test_helper'
2
+
3
+ class CustomYearRangeHolidaysTest < Test::Unit::TestCase
4
+
5
+ def test_after_year_feature
6
+ Holidays.load_custom('test/data/test_custom_year_range_holiday_defs.yaml')
7
+ assert_equal [], Holidays.on(Date.civil(2015,6,1), :custom_year_range_file)
8
+ assert_not_equal [], Holidays.on(Date.civil(2016,6,1), :custom_year_range_file)
9
+ end
10
+
11
+ def test_before_year_feature
12
+ Holidays.load_custom('test/data/test_custom_year_range_holiday_defs.yaml')
13
+ assert_not_equal [], Holidays.on(Date.civil(2017,6,2), :custom_year_range_file)
14
+ assert_equal [], Holidays.on(Date.civil(2018,6,2), :custom_year_range_file)
15
+ end
16
+
17
+ def test_between_year_feature
18
+ Holidays.load_custom('test/data/test_custom_year_range_holiday_defs.yaml')
19
+ assert_equal [], Holidays.on(Date.civil(2015,6,3), :custom_year_range_file)
20
+ assert_not_equal [], Holidays.on(Date.civil(2016,6,3), :custom_year_range_file)
21
+ assert_not_equal [], Holidays.on(Date.civil(2017,6,3), :custom_year_range_file)
22
+ assert_not_equal [], Holidays.on(Date.civil(2018,6,3), :custom_year_range_file)
23
+ assert_equal [], Holidays.on(Date.civil(2019,6,3), :custom_year_range_file)
24
+ end
25
+
26
+ def test_limited_year_feature
27
+ Holidays.load_custom('test/data/test_custom_year_range_holiday_defs.yaml')
28
+ assert_equal [], Holidays.on(Date.civil(2015,6,4), :custom_year_range_file)
29
+ assert_not_equal [], Holidays.on(Date.civil(2016,6,4), :custom_year_range_file)
30
+ assert_equal [], Holidays.on(Date.civil(2017,6,4), :custom_year_range_file)
31
+ assert_not_equal [], Holidays.on(Date.civil(2018,6,4), :custom_year_range_file)
32
+ assert_not_equal [], Holidays.on(Date.civil(2019,6,4), :custom_year_range_file)
33
+ assert_equal [], Holidays.on(Date.civil(2020,6,4), :custom_year_range_file)
34
+ end
35
+
36
+ def test_multiple_condition
37
+ Holidays.load_custom('test/data/test_custom_year_range_holiday_defs.yaml')
38
+ assert_not_equal [], Holidays.on(Date.civil(2015,6,5), :custom_year_range_file)
39
+ assert_equal [], Holidays.on(Date.civil(2016,6,5), :custom_year_range_file)
40
+ assert_not_equal [], Holidays.on(Date.civil(2017,6,5), :custom_year_range_file)
41
+ end
42
+
43
+ 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: 3.1.2
4
+ version: 3.2.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: 2016-01-05 00:00:00.000000000 Z
12
+ date: 2016-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -228,6 +228,7 @@ files:
228
228
  - lib/holidays/use_case_factory.rb
229
229
  - lib/holidays/version.rb
230
230
  - test/data/test_custom_govt_holiday_defs.yaml
231
+ - test/data/test_custom_year_range_holiday_defs.yaml
231
232
  - test/data/test_multiple_custom_holiday_defs.yaml
232
233
  - test/data/test_single_custom_holiday_defs.yaml
233
234
  - test/defs/test_defs_ar.rb
@@ -304,6 +305,7 @@ files:
304
305
  - test/holidays/use_case/context/test_dates_driver_builder.rb
305
306
  - test/test_all_regions.rb
306
307
  - test/test_custom_holidays.rb
308
+ - test/test_custom_year_range_holidays.rb
307
309
  - test/test_helper.rb
308
310
  - test/test_holidays.rb
309
311
  - test/test_holidays_between.rb
@@ -335,6 +337,7 @@ specification_version: 4
335
337
  summary: A collection of Ruby methods to deal with statutory and other holidays.
336
338
  test_files:
337
339
  - test/data/test_custom_govt_holiday_defs.yaml
340
+ - test/data/test_custom_year_range_holiday_defs.yaml
338
341
  - test/data/test_multiple_custom_holiday_defs.yaml
339
342
  - test/data/test_single_custom_holiday_defs.yaml
340
343
  - test/defs/test_defs_ar.rb
@@ -411,6 +414,7 @@ test_files:
411
414
  - test/holidays/use_case/context/test_dates_driver_builder.rb
412
415
  - test/test_all_regions.rb
413
416
  - test/test_custom_holidays.rb
417
+ - test/test_custom_year_range_holidays.rb
414
418
  - test/test_helper.rb
415
419
  - test/test_holidays.rb
416
420
  - test/test_holidays_between.rb