ndr_support 5.6.0 → 5.6.1
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 +7 -1
- data/code_safety.yml +13 -13
- data/lib/ndr_support/concerns/working_days.rb +11 -2
- data/lib/ndr_support/daterange.rb +1 -1
- data/lib/ndr_support/string/conversions.rb +0 -1
- data/lib/ndr_support/version.rb +1 -1
- data/test/concerns/working_days_test.rb +18 -0
- data/test/daterange_test.rb +6 -0
- data/test/string/conversions_test.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78cc28964136a687eb52b6d70fb215b782f4a9dc3689f6781b62281aba3ce7ed
|
4
|
+
data.tar.gz: b0769e6a9224abedc32b3517f1d26bcc0b8482e587e911960429e94b3fec3a98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57c36e4153aa9c9c7dc8500d78ddacd19b70ed6ca8a22268c978a2af47e08a054d2ef8451a570ec7d05670f28cab9c92c49d55a3c797442a5440d0b2fd2ed5ee
|
7
|
+
data.tar.gz: 99d6457af2cfa72b7351c524c0fb19b74846f53b7815b8aa9585b39b3d02ef9f6fb89be4ce4314c072c332d2efb3670ddfdb229a50333557b01626fb877d6416
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
*no unreleased changes*
|
3
3
|
|
4
|
+
## 5.6.1 / 2020-01-02
|
5
|
+
## Fixed
|
6
|
+
* Fix issue with 2020 public holiday
|
7
|
+
* Support 2021 public holidays
|
8
|
+
* Ensure dateranges up to 2030 are supported
|
9
|
+
|
4
10
|
## 5.6.0 / 2019-08-29
|
5
11
|
### Added
|
6
12
|
* Add `Integer#working_days_since`. (#11)
|
@@ -9,7 +15,7 @@
|
|
9
15
|
### Fixed
|
10
16
|
* Support Ruby 2.6, Rails 6.0. Minimum Ruby/Rails versions are now 2.5/5.2
|
11
17
|
* Warn when WorkingDays lookup is getting stale
|
12
|
-
* Improved date parsing in String#to_date
|
18
|
+
* Improved date parsing in `String#to_date`
|
13
19
|
|
14
20
|
## 5.5.0 / 2018-11-16
|
15
21
|
### Added
|
data/code_safety.yml
CHANGED
@@ -17,7 +17,7 @@ file safety:
|
|
17
17
|
CHANGELOG.md:
|
18
18
|
comments:
|
19
19
|
reviewed_by: josh.pencheon
|
20
|
-
safe_revision:
|
20
|
+
safe_revision: 6d47e4cec0d8384a2bbbf36c544bb386f69f5273
|
21
21
|
CODE_OF_CONDUCT.md:
|
22
22
|
comments:
|
23
23
|
reviewed_by: timgentry
|
@@ -61,15 +61,15 @@ file safety:
|
|
61
61
|
lib/ndr_support/concerns/working_days.rb:
|
62
62
|
comments:
|
63
63
|
reviewed_by: josh.pencheon
|
64
|
-
safe_revision:
|
64
|
+
safe_revision: fe6c3beff445e3c84ed0c89f08e1ab10bfb00587
|
65
65
|
lib/ndr_support/date_and_time_extensions.rb:
|
66
66
|
comments:
|
67
67
|
reviewed_by: josh.pencheon
|
68
68
|
safe_revision: c1158eccb843b637b4dd82815dc7c081f12b93e4
|
69
69
|
lib/ndr_support/daterange.rb:
|
70
70
|
comments:
|
71
|
-
reviewed_by:
|
72
|
-
safe_revision:
|
71
|
+
reviewed_by: josh.pencheon
|
72
|
+
safe_revision: 8f18bbaa2cd5dbbf6e40eae2e403e47b589d5e9b
|
73
73
|
lib/ndr_support/hash.rb:
|
74
74
|
comments:
|
75
75
|
reviewed_by: pauleves
|
@@ -132,8 +132,8 @@ file safety:
|
|
132
132
|
safe_revision: 60cc69774d5aff92252558feae9604544def7583
|
133
133
|
lib/ndr_support/string/conversions.rb:
|
134
134
|
comments:
|
135
|
-
reviewed_by:
|
136
|
-
safe_revision:
|
135
|
+
reviewed_by: josh.pencheon
|
136
|
+
safe_revision: 4a26fe1677b99f8da3a6928c36d6c4c8d6de0cb8
|
137
137
|
lib/ndr_support/tasks.rb:
|
138
138
|
comments:
|
139
139
|
reviewed_by: timgentry
|
@@ -161,7 +161,7 @@ file safety:
|
|
161
161
|
lib/ndr_support/version.rb:
|
162
162
|
comments:
|
163
163
|
reviewed_by: josh.pencheon
|
164
|
-
safe_revision:
|
164
|
+
safe_revision: 6d47e4cec0d8384a2bbbf36c544bb386f69f5273
|
165
165
|
lib/ndr_support/working_days.rb:
|
166
166
|
comments:
|
167
167
|
reviewed_by: josh.pencheon
|
@@ -180,12 +180,12 @@ file safety:
|
|
180
180
|
safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
|
181
181
|
test/concerns/working_days_test.rb:
|
182
182
|
comments:
|
183
|
-
reviewed_by:
|
184
|
-
safe_revision:
|
183
|
+
reviewed_by: josh.pencheon
|
184
|
+
safe_revision: fe6c3beff445e3c84ed0c89f08e1ab10bfb00587
|
185
185
|
test/daterange_test.rb:
|
186
186
|
comments:
|
187
|
-
reviewed_by:
|
188
|
-
safe_revision:
|
187
|
+
reviewed_by: josh.pencheon
|
188
|
+
safe_revision: 8f18bbaa2cd5dbbf6e40eae2e403e47b589d5e9b
|
189
189
|
test/hash_test.rb:
|
190
190
|
comments:
|
191
191
|
reviewed_by: timgentry
|
@@ -244,8 +244,8 @@ file safety:
|
|
244
244
|
safe_revision: 60cc69774d5aff92252558feae9604544def7583
|
245
245
|
test/string/conversions_test.rb:
|
246
246
|
comments:
|
247
|
-
reviewed_by:
|
248
|
-
safe_revision:
|
247
|
+
reviewed_by: josh.pencheon
|
248
|
+
safe_revision: 4a26fe1677b99f8da3a6928c36d6c4c8d6de0cb8
|
249
249
|
test/test_helper.rb:
|
250
250
|
comments:
|
251
251
|
reviewed_by: josh.pencheon
|
@@ -83,11 +83,20 @@ module WorkingDays
|
|
83
83
|
'2020-01-01', # Wednesday - New Year's Day
|
84
84
|
'2020-04-10', # Friday - Good Friday
|
85
85
|
'2020-04-13', # Monday - Easter Monday
|
86
|
-
'2020-05-
|
86
|
+
'2020-05-08', # Friday - Early May bank holiday (moved from Monday)
|
87
87
|
'2020-05-25', # Monday - Spring bank holiday
|
88
88
|
'2020-08-31', # Monday - Summer bank holiday
|
89
89
|
'2020-12-25', # Friday - Christmas Day
|
90
|
-
'2020-12-
|
90
|
+
'2020-12-28', # Monday - Boxing Day (substitute day)
|
91
|
+
# 2021
|
92
|
+
'2021-01-01', # Friday - New Year’s Day
|
93
|
+
'2021-04-02', # Friday - Good Friday
|
94
|
+
'2021-04-05', # Monday - Easter Monday
|
95
|
+
'2021-05-03', # Monday - Early May bank holiday
|
96
|
+
'2021-05-31', # Monday - Spring bank holiday
|
97
|
+
'2021-08-30', # Monday - Summer bank holiday
|
98
|
+
'2021-12-27', # Monday - Christmas Day
|
99
|
+
'2021-12-28', # Tuesday - Boxing Day
|
91
100
|
].map { |str| Date.parse(str) }
|
92
101
|
|
93
102
|
def self.check_lookup
|
@@ -85,7 +85,6 @@ class String
|
|
85
85
|
# Try to convert the string value into a date.
|
86
86
|
# If given a pattern, use it to parse date, otherwise use default setting to parse it
|
87
87
|
def to_date(pattern = nil)
|
88
|
-
return '' if empty? # TODO: check if this is used... :/
|
89
88
|
return nil if blank?
|
90
89
|
|
91
90
|
pattern = '%d%m%Y' if 'ddmmyyyy' == pattern
|
data/lib/ndr_support/version.rb
CHANGED
@@ -119,4 +119,22 @@ class WorkingDaysTest < Minitest::Test
|
|
119
119
|
assert_equal 253, @normal_time.working_days_until(@normal_time + 1.year)
|
120
120
|
assert_equal 253, @normal_date_time.working_days_until(@normal_date_time + 1.year)
|
121
121
|
end
|
122
|
+
|
123
|
+
test 'against GOV.UK holidays' do
|
124
|
+
require 'net/http'
|
125
|
+
require 'json'
|
126
|
+
|
127
|
+
url = 'https://www.gov.uk/bank-holidays/england-and-wales.json'
|
128
|
+
response = Net::HTTP.get(URI(url))
|
129
|
+
|
130
|
+
events = JSON.parse(response)['events']
|
131
|
+
events.each do |event|
|
132
|
+
event_date = event['date']
|
133
|
+
parsed_date = Date.parse(event_date)
|
134
|
+
|
135
|
+
assert parsed_date.public_holiday?, "#{event_date} should be a public holiday"
|
136
|
+
# next if parsed_date.public_holiday?
|
137
|
+
# puts "'#{event_date}', # #{parsed_date.strftime('%A')} - #{event['title']}"
|
138
|
+
end
|
139
|
+
end
|
122
140
|
end
|
data/test/daterange_test.rb
CHANGED
@@ -63,6 +63,12 @@ class DaterangeTest < Minitest::Test
|
|
63
63
|
assert_equal '1880 2020', dr.source
|
64
64
|
end
|
65
65
|
|
66
|
+
def test_year_range_future
|
67
|
+
s = 2.years.from_now.strftime('%Y')
|
68
|
+
dr = Daterange.new(s)
|
69
|
+
assert_equal s, dr.to_s, "Daterange should support future years up to #{s}"
|
70
|
+
end
|
71
|
+
|
66
72
|
def test_hyphen_month_input_style
|
67
73
|
dr = Daterange.new('2000-05')
|
68
74
|
assert_equal '05.2000', dr.to_s
|
@@ -244,8 +244,8 @@ class String::ConversionsTest < Minitest::Test
|
|
244
244
|
assert_equal Ourdate.build_datetime(1998, 02, 13), '1998-02-13'.to_date('%Y-%m-%d')
|
245
245
|
assert_equal Ourdate.build_datetime(1998, 05, 03), '1998-05-03'.to_date('%Y-%m-%d')
|
246
246
|
|
247
|
-
|
248
|
-
|
247
|
+
assert_nil ''.to_date('%Y-%m-%d') # Should behave like Rails-defined to_date
|
248
|
+
assert_nil ' '.to_date('%Y-%m-%d')
|
249
249
|
end
|
250
250
|
|
251
251
|
test '%d-%m-%Y string to_date' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ndr_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.6.
|
4
|
+
version: 5.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NCRS Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|