ndr_support 5.5.0 → 5.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e21f71716e6733363c47fb4fb1f457ec616a913902729cb40fa8a227a77d530
4
- data.tar.gz: 9b251bf890fb3d835c256fe81d136d51327e749970c21bad0a77529e12655384
3
+ metadata.gz: 3f5d3aeeaaa13e7221012d0c20948ce96257b4ebb2824e765d0570bc10cec75c
4
+ data.tar.gz: 57dc19084dc7ebe85fce29dcd5db48372febf8ee58c9cdd8a2ae275c81d1037c
5
5
  SHA512:
6
- metadata.gz: f603f2982d2615bfc0a4b1963f324ee633a1e9fa8248c575ae52a74403b3dc514a1cbec13b2f162f351e297d6d3df50e9cd8ace0692571f3f8202603fd969598
7
- data.tar.gz: 9c3248c3286b5eba6ebf757a8e1f43958c585718f768de8798be3d482a5cfda28e36dfba1286782d9701d587aa3bc7465828f5c576e17bf0ccce377ce974743f
6
+ metadata.gz: e9b013478c6a967e6dc2293de8c7bae820382fdb6dc0c8b0bb5aae82da064969620fb8143a6ee9013166f0d652c7ce64a7187279ca5b571c718cd74de5d075b5
7
+ data.tar.gz: c4a0b7c8c41c93aacbf53351d7ef517593e7f0612c6b6cb750ab218223e2d494dc9c746c9005c1bf003d2ed9c9e6ed4887813688f79f7eb22cb25e0bec6cff5b
@@ -1,6 +1,12 @@
1
1
  ## [Unreleased]
2
2
  *no unreleased changes*
3
3
 
4
+ ## 5.5.1 / 2019-05-15
5
+ ### Fixed
6
+ * Support Ruby 2.6, Rails 6.0. Minimum Ruby/Rails versions are now 2.5/5.2
7
+ * Warn when WorkingDays lookup is getting stale
8
+ * Improved date parsing in String#to_date
9
+
4
10
  ## 5.5.0 / 2018-11-16
5
11
  ### Added
6
12
  * Add `ThreatScanner` to wrap ClamAV for virus detection (#10)
@@ -12,12 +12,12 @@ file safety:
12
12
  comments: 'diff failed; reviewed whole file. Revision c88f5ac8c12fd657bb142144e0d3afaa7f9bc361:
13
13
  Slack notification secret is public/private key encrypted, so not a disclosure
14
14
  risk. As a secondary protection, it''s excluded from the .gem file by ndr_support.gemspec'
15
- reviewed_by: brian.shand
16
- safe_revision: c88f5ac8c12fd657bb142144e0d3afaa7f9bc361
15
+ reviewed_by: josh.pencheon
16
+ safe_revision: 0cfcfac5ddcd721a67dcd23f04cbf6bc2278b922
17
17
  CHANGELOG.md:
18
18
  comments:
19
19
  reviewed_by: josh.pencheon
20
- safe_revision: ea1f7dc9a164981570ee2ad7c38197fdb17a6880
20
+ safe_revision: 1a3b9f3403a81404b0165c0d4ff7dd9a728eb0b5
21
21
  CODE_OF_CONDUCT.md:
22
22
  comments:
23
23
  reviewed_by: timgentry
@@ -42,34 +42,26 @@ file safety:
42
42
  comments:
43
43
  reviewed_by: timgentry
44
44
  safe_revision: e33e9dae7f38bc449ce9276515a539836dbbbd53
45
- gemfiles/Gemfile.rails42:
46
- comments:
47
- reviewed_by: pauleves
48
- safe_revision: f76ad0fe72d42b1ff37553c8194935a8b93a6848
49
- gemfiles/Gemfile.rails50:
50
- comments:
51
- reviewed_by: josh.pencheon
52
- safe_revision: 55ed1c2a18b9cc4d1d996ee69419f5ee38f87746
53
- gemfiles/Gemfile.rails51:
54
- comments:
55
- reviewed_by: brian.shand
56
- safe_revision: 4e87fd9d64fc0f15b359ba60fc48cda54453c647
57
45
  gemfiles/Gemfile.rails52:
58
46
  comments:
59
47
  reviewed_by: josh.pencheon
60
48
  safe_revision: 8a6bedae77d33d0db1b67eaed7972870b6afc993
61
- lib/ndr_support.rb:
49
+ gemfiles/Gemfile.rails60:
62
50
  comments:
63
51
  reviewed_by: josh.pencheon
64
- safe_revision: ed8ff421cc9353456af13a37049a07ce2545aac1
52
+ safe_revision: 0cfcfac5ddcd721a67dcd23f04cbf6bc2278b922
53
+ lib/ndr_support.rb:
54
+ comments:
55
+ reviewed_by: brian.shand
56
+ safe_revision: 44fbdf72f47f4022c7dc9148150ebc18589dac8f
65
57
  lib/ndr_support/array.rb:
66
58
  comments:
67
59
  reviewed_by: pauleves
68
60
  safe_revision: 4a4ed24d2cfe7e1736baadf4cf6e0fece6823be1
69
61
  lib/ndr_support/concerns/working_days.rb:
70
62
  comments:
71
- reviewed_by: josh.pencheon
72
- safe_revision: e5671bd9435490d521028d02bc91ccb47c74c580
63
+ reviewed_by: brian.shand
64
+ safe_revision: a64c2c4616317240faec2db7a84761947ae844a3
73
65
  lib/ndr_support/date_and_time_extensions.rb:
74
66
  comments:
75
67
  reviewed_by: josh.pencheon
@@ -137,7 +129,7 @@ file safety:
137
129
  lib/ndr_support/string/conversions.rb:
138
130
  comments:
139
131
  reviewed_by: brian.shand
140
- safe_revision: 0a06fed3e7530185497f786decdb77a62d35e101
132
+ safe_revision: 1692170e1d07e3b6ba95e88d6c15510a7b3c2fe6
141
133
  lib/ndr_support/tasks.rb:
142
134
  comments:
143
135
  reviewed_by: timgentry
@@ -165,7 +157,7 @@ file safety:
165
157
  lib/ndr_support/version.rb:
166
158
  comments:
167
159
  reviewed_by: josh.pencheon
168
- safe_revision: ea1f7dc9a164981570ee2ad7c38197fdb17a6880
160
+ safe_revision: 1a3b9f3403a81404b0165c0d4ff7dd9a728eb0b5
169
161
  lib/ndr_support/yaml/serialization_migration.rb:
170
162
  comments:
171
163
  reviewed_by: timgentry
@@ -173,7 +165,7 @@ file safety:
173
165
  ndr_support.gemspec:
174
166
  comments:
175
167
  reviewed_by: josh.pencheon
176
- safe_revision: c197b91c07807345f2caf07ec4c14d8b9cbb4e53
168
+ safe_revision: 0cfcfac5ddcd721a67dcd23f04cbf6bc2278b922
177
169
  test/array_test.rb:
178
170
  comments:
179
171
  reviewed_by: timgentry
@@ -241,7 +233,7 @@ file safety:
241
233
  test/string/conversions_test.rb:
242
234
  comments:
243
235
  reviewed_by: brian.shand
244
- safe_revision: 1955bf30ffe581610981f0148569e252cba02926
236
+ safe_revision: 1692170e1d07e3b6ba95e88d6c15510a7b3c2fe6
245
237
  test/test_helper.rb:
246
238
  comments:
247
239
  reviewed_by: josh.pencheon
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activerecord', '~> 6.0.0rc1'
6
+ gem 'activesupport', '~> 6.0.0rc1'
@@ -21,3 +21,5 @@ require 'ndr_support/yaml/serialization_migration'
21
21
  module NdrSupport
22
22
  # Your code goes here...
23
23
  end
24
+
25
+ WorkingDays.check_lookup
@@ -77,8 +77,24 @@ module WorkingDays
77
77
  '2019-08-26', # Monday - Summer bank holiday
78
78
  '2019-12-25', # Wednesday - Christmas Day
79
79
  '2019-12-26', # Thursday - Boxing Day
80
+ # 2020
81
+ '2020-01-01', # Wednesday - New Year's Day
82
+ '2020-04-10', # Friday - Good Friday
83
+ '2020-04-13', # Monday - Easter Monday
84
+ '2020-05-04', # Monday - Early May bank holiday
85
+ '2020-05-25', # Monday - Spring bank holiday
86
+ '2020-08-31', # Monday - Summer bank holiday
87
+ '2020-12-25', # Friday - Christmas Day
88
+ '2020-12-26', # Monday - Boxing Day
80
89
  ].map { |str| Date.parse(str) }
81
90
 
91
+ def self.check_lookup
92
+ return true if HOLIDAYS.max >= 1.year.from_now
93
+
94
+ warn "NdrSupport's WorkingDays extension has under a year of future data. Check for updates?"
95
+ false
96
+ end
97
+
82
98
  # How many complete working days there are until the given
83
99
  # `other`. Returns negative number if `other` is earlier.
84
100
  def working_days_until(other)
@@ -112,12 +112,12 @@ class String
112
112
 
113
113
  if ['yyyy/dd/mm', 'mm/dd/yyyy'].include?(pattern)
114
114
  month, day = day, month
115
- elsif 8 == length && self !~ /\d{8}/
115
+ elsif 8 == length && self =~ /\A\d{2}[^A-Z0-9]\d{2}[^A-Z0-9]\d{2}\z/i
116
116
  # dd/mm/yy, rather than yyyymmdd
117
117
  year, day = day, year
118
118
  year += 100 if year <= Ourdate.today.year % 100
119
119
  year += 1900
120
- elsif 9 == length
120
+ elsif 9 == length && self =~ /\A\d{2}[^A-Z0-9][A-Z]{3}[^A-Z0-9]\d{2}\z/i
121
121
  # dd/mmm/yy, rare case.
122
122
  year += 100 if year <= Ourdate.today.year % 100
123
123
  year += 1900
@@ -3,5 +3,5 @@
3
3
  # This defines the NdrSupport version. If you change it, rebuild and commit the gem.
4
4
  # Use "rake build" to build the gem, see rake -T for all bundler rake tasks.
5
5
  module NdrSupport
6
- VERSION = '5.5.0'
6
+ VERSION = '5.5.1'
7
7
  end
@@ -20,13 +20,13 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_dependency 'activerecord', '>= 4.0.13', '< 5.3'
24
- spec.add_dependency 'activesupport', '>= 4.0.13', '< 5.3'
23
+ spec.add_dependency 'activerecord', '>= 5.2.0', '< 7'
24
+ spec.add_dependency 'activesupport', '>= 5.2.0', '< 7'
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.7'
26
+ spec.add_development_dependency 'bundler'
27
27
  spec.add_development_dependency 'rake', '~> 10.0'
28
28
 
29
- spec.required_ruby_version = '>= 2.1.0'
29
+ spec.required_ruby_version = '>= 2.5.0'
30
30
 
31
31
  # Avoid std-lib minitest (which has different namespace)
32
32
  spec.add_development_dependency 'minitest', '>= 5.0.0'
@@ -58,6 +58,10 @@ class String::ConversionsTest < Minitest::Test
58
58
  assert_ymd [2001, 3, 2], '02/03/2001'.to_date
59
59
  assert_ymd [2010, 7, 11], '2010-07-11'.to_date
60
60
 
61
+ assert_ymd [2001, 3, 2], '2.3.2001'.to_date
62
+ assert_ymd [2001, 3, 2], '2/3/2001'.to_date
63
+ assert_ymd [2010, 7, 11], '2010-7-11'.to_date
64
+
61
65
  assert_ymd [2001, 2, 3], '2001/02/03'.to_date('yyyy/mm/dd')
62
66
  assert_ymd [2001, 2, 3], '2001/03/02'.to_date('yyyy/dd/mm')
63
67
  assert_ymd [2001, 2, 3], '2001-02-03'.to_date('yyyy-mm-dd')
@@ -334,6 +338,12 @@ class String::ConversionsTest < Minitest::Test
334
338
  assert_equal Ourdate.build_datetime(2008, 05, 03), '03/05/2008 13:38'.to_date
335
339
  end
336
340
 
341
+ test 'incorrectly formatted string to_date' do
342
+ assert_nil '10-1975'.to_date
343
+ assert_nil '10.1975A'.to_date
344
+ assert_nil '10.1975AA'.to_date
345
+ end
346
+
337
347
  test 'to_boolean' do
338
348
  assert_equal true, 'true'.to_boolean
339
349
  assert_equal true, 'yes'.to_boolean
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.5.0
4
+ version: 5.5.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: 2018-11-16 00:00:00.000000000 Z
11
+ date: 2019-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,54 +16,54 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.13
19
+ version: 5.2.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.3'
22
+ version: '7'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.0.13
29
+ version: 5.2.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.3'
32
+ version: '7'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 4.0.13
39
+ version: 5.2.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '5.3'
42
+ version: '7'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 4.0.13
49
+ version: 5.2.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '5.3'
52
+ version: '7'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '1.7'
59
+ version: '0'
60
60
  type: :development
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - "~>"
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: '1.7'
66
+ version: '0'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: rake
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -240,10 +240,8 @@ files:
240
240
  - README.md
241
241
  - Rakefile
242
242
  - code_safety.yml
243
- - gemfiles/Gemfile.rails42
244
- - gemfiles/Gemfile.rails50
245
- - gemfiles/Gemfile.rails51
246
243
  - gemfiles/Gemfile.rails52
244
+ - gemfiles/Gemfile.rails60
247
245
  - lib/ndr_support.rb
248
246
  - lib/ndr_support/array.rb
249
247
  - lib/ndr_support/concerns/working_days.rb
@@ -308,15 +306,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
308
306
  requirements:
309
307
  - - ">="
310
308
  - !ruby/object:Gem::Version
311
- version: 2.1.0
309
+ version: 2.5.0
312
310
  required_rubygems_version: !ruby/object:Gem::Requirement
313
311
  requirements:
314
312
  - - ">="
315
313
  - !ruby/object:Gem::Version
316
314
  version: '0'
317
315
  requirements: []
318
- rubyforge_project:
319
- rubygems_version: 2.7.6
316
+ rubygems_version: 3.0.3
320
317
  signing_key:
321
318
  specification_version: 4
322
319
  summary: NDR Support library
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activerecord', '~> 4.2.0'
6
- gem 'activesupport', '~> 4.2.0'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activerecord', '~> 5.0.0'
6
- gem 'activesupport', '~> 5.0.0'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- # Minitest 5.10.2 doesn't work with Rails version
6
- gem 'minitest', '< 5.10.2'
7
-
8
- gem 'activerecord', '~> 5.1.0'
9
- gem 'activesupport', '~> 5.1.0'