ndr_support 5.6.0 → 5.6.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|