ndr_support 5.9.3 → 5.9.4

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
  SHA256:
3
- metadata.gz: 4a2a7eee626500b24dda836864fbbe45061c73a01c1c0d8767084ef94feb4391
4
- data.tar.gz: '084bd2b9c1d5d7dc13d45597ecd9d16c410d3653445af9790c1556da7e2d2f1d'
3
+ metadata.gz: 4ca42961473b3e0f614709e4506f7f37e44b14e4f212db71e59e5386f7f4b852
4
+ data.tar.gz: 3d213bdfe03991c73f7bffe451208fec727d52337cdaf659e1a815d503962929
5
5
  SHA512:
6
- metadata.gz: 595af1c7799843cc6283cef5b5c77bf955f09c6d06bc316bf41e7f9fc0851639c9cb2f44f662c07b0b7e7b10a0b291ced307b9f1b109b5e1efe85fda2a018b40
7
- data.tar.gz: 62651ee7d25752f68b9ff9ae197878b12003e0b0363b73b5bb2d48cb42624373f8ffa0d85fc61f5b0cc2f3c9026f22e0279b50fc94a829158a09a5ca03f1f34a
6
+ metadata.gz: cc033dac0c4eb88222a0b75630fad6505902f680b153ea2a8024cf5fa1ba8823d935e0f75f1384f9e716bfbe6265ba980ea3fb892a263f506737bb146356eff3
7
+ data.tar.gz: 7930201e594ad93153ff833e76e7ed5ced7eb3c35f4c57a88404a36e5e1e64b36bf79c2f764449bccc5eb5a139a03a9edf9b7f427efd4a78e97697f68b7e3096
data/.rubocop.yml CHANGED
@@ -1 +1 @@
1
- inherit_from: 'https://raw.githubusercontent.com/PublicHealthEngland/ndr_dev_support/master/.rubocop.yml'
1
+ require: ndr_dev_support
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ## [Unreleased]
2
2
  * No unreleased changes
3
3
 
4
+ ## 5.9.4 / 2023-07-13
5
+ ### Added
6
+ * Support Ruby 3.2. Drop support for Ruby 2.7, Rails 6.0
7
+
4
8
  ## 5.9.3 / 2022-12-02
5
9
  ## Fixed
6
10
  * Support Rails 7.0
data/code_safety.yml CHANGED
@@ -11,19 +11,19 @@ file safety:
11
11
  ".github/workflows/test.yml":
12
12
  comments:
13
13
  reviewed_by: brian.shand
14
- safe_revision: e977f8c0f8a5c6a1952bd1565b75e16850ef11e0
14
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
15
15
  ".gitignore":
16
16
  comments:
17
17
  reviewed_by: josh.pencheon
18
18
  safe_revision: a02f14cbf1fc36fbaf820365fdedfdc9af326db1
19
19
  ".rubocop.yml":
20
20
  comments:
21
- reviewed_by: josh.pencheon
22
- safe_revision: a02f14cbf1fc36fbaf820365fdedfdc9af326db1
21
+ reviewed_by: brian.shand
22
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
23
23
  CHANGELOG.md:
24
24
  comments:
25
25
  reviewed_by: brian.shand
26
- safe_revision: e977f8c0f8a5c6a1952bd1565b75e16850ef11e0
26
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
27
27
  CODE_OF_CONDUCT.md:
28
28
  comments:
29
29
  reviewed_by: timgentry
@@ -52,10 +52,6 @@ file safety:
52
52
  comments:
53
53
  reviewed_by: josh.pencheon
54
54
  safe_revision: 8a6bedae77d33d0db1b67eaed7972870b6afc993
55
- gemfiles/Gemfile.rails60:
56
- comments:
57
- reviewed_by: brian.shand
58
- safe_revision: 16254a4332aab074a27c8e13859dc4712e707122
59
55
  gemfiles/Gemfile.rails61:
60
56
  comments:
61
57
  reviewed_by: brian.shand
@@ -79,7 +75,7 @@ file safety:
79
75
  lib/ndr_support/date_and_time_extensions.rb:
80
76
  comments:
81
77
  reviewed_by: brian.shand
82
- safe_revision: e977f8c0f8a5c6a1952bd1565b75e16850ef11e0
78
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
83
79
  lib/ndr_support/daterange.rb:
84
80
  comments:
85
81
  reviewed_by: brian.shand
@@ -111,11 +107,11 @@ file safety:
111
107
  lib/ndr_support/ourdate.rb:
112
108
  comments:
113
109
  reviewed_by: brian.shand
114
- safe_revision: e977f8c0f8a5c6a1952bd1565b75e16850ef11e0
110
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
115
111
  lib/ndr_support/ourdate/build_datetime.rb:
116
112
  comments:
117
113
  reviewed_by: brian.shand
118
- safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
114
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
119
115
  lib/ndr_support/ourtime.rb:
120
116
  comments:
121
117
  reviewed_by: brian.shand
@@ -146,8 +142,8 @@ file safety:
146
142
  safe_revision: b7b033ad9773cc9037c408a7763b113d31cbf191
147
143
  lib/ndr_support/string/conversions.rb:
148
144
  comments:
149
- reviewed_by: ollietulloch
150
- safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
145
+ reviewed_by: brian.shand
146
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
151
147
  lib/ndr_support/tasks.rb:
152
148
  comments:
153
149
  reviewed_by: timgentry
@@ -175,7 +171,7 @@ file safety:
175
171
  lib/ndr_support/version.rb:
176
172
  comments:
177
173
  reviewed_by: brian.shand
178
- safe_revision: 3ccb4e78a657f33e80c10550ba8f25978cf548db
174
+ safe_revision: c3bc30b08a2fbe089fcde6989ca49ca40004a83e
179
175
  lib/ndr_support/working_days.rb:
180
176
  comments:
181
177
  reviewed_by: josh.pencheon
@@ -187,7 +183,7 @@ file safety:
187
183
  ndr_support.gemspec:
188
184
  comments:
189
185
  reviewed_by: brian.shand
190
- safe_revision: e977f8c0f8a5c6a1952bd1565b75e16850ef11e0
186
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
191
187
  test/array_test.rb:
192
188
  comments:
193
189
  reviewed_by: timgentry
@@ -202,8 +198,8 @@ file safety:
202
198
  safe_revision: e977f8c0f8a5c6a1952bd1565b75e16850ef11e0
203
199
  test/daterange_test.rb:
204
200
  comments:
205
- reviewed_by: ollietulloch
206
- safe_revision: ccca1dc67e3742efb154e01e01243e7b38180936
201
+ reviewed_by: brian.shand
202
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
207
203
  test/hash_test.rb:
208
204
  comments:
209
205
  reviewed_by: timgentry
@@ -262,12 +258,12 @@ file safety:
262
258
  safe_revision: b7b033ad9773cc9037c408a7763b113d31cbf191
263
259
  test/string/conversions_test.rb:
264
260
  comments:
265
- reviewed_by: ollietulloch
266
- safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
261
+ reviewed_by: brian.shand
262
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
267
263
  test/test_helper.rb:
268
264
  comments:
269
- reviewed_by: josh.pencheon
270
- safe_revision: 34ae80f2952f0bfd18688541862774cbaaa6c5f5
265
+ reviewed_by: brian.shand
266
+ safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
271
267
  test/threat_scanner_test.rb:
272
268
  comments:
273
269
  reviewed_by: ollietulloch
@@ -12,7 +12,13 @@ class Date
12
12
 
13
13
  def to_datetime
14
14
  # Default timezone for Date is GMT, not local timezone
15
- return in_time_zone.to_datetime if ActiveRecord::Base.default_timezone == :local
15
+ default_timezone = if ActiveRecord.respond_to?(:default_timezone)
16
+ ActiveRecord.default_timezone
17
+ else
18
+ ActiveRecord::Base.default_timezone # Rails <= 6.1
19
+ end
20
+ return in_time_zone.to_datetime if default_timezone == :local
21
+
16
22
  orig_to_datetime
17
23
  end
18
24
 
@@ -10,7 +10,12 @@ class Ourdate
10
10
  def self.build_datetime(year, month = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0)
11
11
  return nil if year.nil?
12
12
 
13
- if ActiveRecord::Base.default_timezone == :local
13
+ default_timezone = if ActiveRecord.respond_to?(:default_timezone)
14
+ ActiveRecord.default_timezone
15
+ else
16
+ ActiveRecord::Base.default_timezone # Rails <= 6.1
17
+ end
18
+ if default_timezone == :local
14
19
  # Time.local_time(year, month, day, hour, min, sec, usec).to_datetime
15
20
  # Behave like oracle_adapter.rb
16
21
  seconds = sec + Rational(usec, 10**6)
@@ -21,9 +26,9 @@ class Ourdate
21
26
  # but the risk is we lose the usec component unnecesssarily.
22
27
  # Investigate removing .to_datetime below.
23
28
  #++
24
- Time.send(ActiveRecord::Base.default_timezone, *time_array).to_datetime
29
+ Time.send(default_timezone, *time_array).to_datetime
25
30
  rescue
26
- zone_offset = ActiveRecord::Base.default_timezone == :local ? DateTime.now.offset : 0
31
+ zone_offset = default_timezone == :local ? DateTime.now.offset : 0
27
32
  # Append zero calendar reform start to account for dates skipped by calendar reform
28
33
  DateTime.new(*time_array[0..5] << zone_offset << 0) rescue nil
29
34
  end
@@ -15,7 +15,12 @@ class Ourdate
15
15
  #--
16
16
  # TODO: Use Ourdate.build_datetime everywhere below:
17
17
  #++
18
- if ActiveRecord::Base.default_timezone == :local
18
+ default_timezone = if ActiveRecord.respond_to?(:default_timezone)
19
+ ActiveRecord.default_timezone
20
+ else
21
+ ActiveRecord::Base.default_timezone # Rails <= 6.1
22
+ end
23
+ if default_timezone == :local
19
24
  build_datetime(current_time.year, current_time.month, current_time.day)
20
25
  else
21
26
  #--
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
  require 'active_support/core_ext/string/conversions'
3
2
  require 'ndr_support/daterange'
4
3
  require 'ndr_support/ourdate'
@@ -130,7 +129,13 @@ class String
130
129
 
131
130
  def to_datetime
132
131
  # Default timezone for to_datetime conversion is GMT, not local timezone
133
- return to_time.to_datetime if ActiveRecord::Base.default_timezone == :local
132
+ default_timezone = if ActiveRecord.respond_to?(:default_timezone)
133
+ ActiveRecord.default_timezone
134
+ else
135
+ ActiveRecord::Base.default_timezone # Rails <= 6.1
136
+ end
137
+ return to_time.to_datetime if default_timezone == :local
138
+
134
139
  orig_to_datetime
135
140
  end
136
141
 
@@ -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.9.3'
6
+ VERSION = '5.9.4'
7
7
  end
data/ndr_support.gemspec CHANGED
@@ -18,13 +18,13 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'activerecord', '>= 6.0.0', '< 7.1'
22
- spec.add_dependency 'activesupport', '>= 6.0.0', '< 7.1'
21
+ spec.add_dependency 'activerecord', '>= 6.1', '< 7.1'
22
+ spec.add_dependency 'activesupport', '>= 6.1', '< 7.1'
23
23
 
24
24
  spec.add_development_dependency 'bundler'
25
25
  spec.add_development_dependency 'rake', '>= 12.3.3'
26
26
 
27
- spec.required_ruby_version = '>= 2.7'
27
+ spec.required_ruby_version = '>= 3.0'
28
28
 
29
29
  # Avoid std-lib minitest (which has different namespace)
30
30
  spec.add_development_dependency 'minitest', '>= 5.0.0'
@@ -166,7 +166,13 @@ class DaterangeTest < Minitest::Test
166
166
  def test_date_with_daylight_saving
167
167
  dr = Daterange.new(Date.new(2017, 9, 2)) # During daylight saving
168
168
  assert_equal '02.09.2017', dr.to_s
169
- return unless ActiveRecord::Base.default_timezone == :local
169
+ default_timezone = if ActiveRecord.respond_to?(:default_timezone)
170
+ ActiveRecord.default_timezone
171
+ else
172
+ ActiveRecord::Base.default_timezone # Rails <= 6.1
173
+ end
174
+ return unless default_timezone == :local
175
+
170
176
  assert_equal Date.new(2017, 9, 2).in_time_zone.utc_offset, dr.date1.utc_offset, 'Expect consistent offset'
171
177
  assert_equal '2017-09-02'.thetime, dr.date1
172
178
  end
@@ -84,7 +84,13 @@ class String::ConversionsTest < Minitest::Test
84
84
 
85
85
  test 'should convert strings to DateTime correctly' do
86
86
  assert_equal 0, '2018-01-02'.to_datetime.utc_offset
87
- return unless ActiveRecord::Base.default_timezone == :local
87
+ default_timezone = if ActiveRecord.respond_to?(:default_timezone)
88
+ ActiveRecord.default_timezone
89
+ else
90
+ ActiveRecord::Base.default_timezone # Rails <= 6.1
91
+ end
92
+ return unless default_timezone == :local
93
+
88
94
  assert_equal Time.new(2017, 9, 2).utc_offset, '2017-09-02'.to_datetime.utc_offset, 'Expect consistent offset'
89
95
  end
90
96
 
data/test/test_helper.rb CHANGED
@@ -16,7 +16,11 @@ NdrSupport.apply_era_date_formats!
16
16
  # require all dates to be stored in UTC in the database.
17
17
  # Thus a birth date of 1975-06-01 would be stored as 1975-05-31 23.00.00.
18
18
  # Instead, we want to store all times in local time.
19
- ActiveRecord::Base.default_timezone = :local
19
+ if ActiveRecord.respond_to?(:default_timezone=)
20
+ ActiveRecord.default_timezone = :local
21
+ else
22
+ ActiveRecord::Base.default_timezone = :local # Rails <= 6.1
23
+ end
20
24
  ActiveRecord::Base.time_zone_aware_attributes = false
21
25
  Time.zone = 'London'
22
26
 
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.9.3
4
+ version: 5.9.4
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: 2022-12-02 00:00:00.000000000 Z
11
+ date: 2023-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 6.0.0
19
+ version: '6.1'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '7.1'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 6.0.0
29
+ version: '6.1'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '7.1'
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 6.0.0
39
+ version: '6.1'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '7.1'
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 6.0.0
49
+ version: '6.1'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '7.1'
@@ -221,7 +221,6 @@ files:
221
221
  - Rakefile
222
222
  - code_safety.yml
223
223
  - gemfiles/Gemfile.rails52
224
- - gemfiles/Gemfile.rails60
225
224
  - gemfiles/Gemfile.rails61
226
225
  - gemfiles/Gemfile.rails70
227
226
  - lib/ndr_support.rb
@@ -292,7 +291,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
292
291
  requirements:
293
292
  - - ">="
294
293
  - !ruby/object:Gem::Version
295
- version: '2.7'
294
+ version: '3.0'
296
295
  required_rubygems_version: !ruby/object:Gem::Requirement
297
296
  requirements:
298
297
  - - ">="
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activerecord', '~> 6.0.0'
6
- gem 'activesupport', '~> 6.0.0'