ndr_support 5.9.3 → 5.9.5

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: 4a2a7eee626500b24dda836864fbbe45061c73a01c1c0d8767084ef94feb4391
4
- data.tar.gz: '084bd2b9c1d5d7dc13d45597ecd9d16c410d3653445af9790c1556da7e2d2f1d'
3
+ metadata.gz: 2bfe7ed2fab4ae654340e7aef5838dc71d904635ac4aa0d78dcee8b6d00ead31
4
+ data.tar.gz: 4d2b22e57baaffd236846e3505fc1303391202a48e6b3e64867dd84ca9c4e61e
5
5
  SHA512:
6
- metadata.gz: 595af1c7799843cc6283cef5b5c77bf955f09c6d06bc316bf41e7f9fc0851639c9cb2f44f662c07b0b7e7b10a0b291ced307b9f1b109b5e1efe85fda2a018b40
7
- data.tar.gz: 62651ee7d25752f68b9ff9ae197878b12003e0b0363b73b5bb2d48cb42624373f8ffa0d85fc61f5b0cc2f3c9026f22e0279b50fc94a829158a09a5ca03f1f34a
6
+ metadata.gz: 6d4eccd2e2c6fcf7813da447cac43f3e359057edb17af8476666ee9e40ecf71735738a5b0a0919f284a213e87c7c7d19750a78a5c17e9ac15bd7c1d3ee6a8445
7
+ data.tar.gz: 424d016b5959104a7778724fb71d65d205b3b3d2f9c9bfca54ca3a3c1fb4b9f8d622f2d5bb3d5584fe81d138870613ba8ae28c01982d656be754e00efa44faab
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,13 @@
1
1
  ## [Unreleased]
2
2
  * No unreleased changes
3
3
 
4
+ ## 5.9.5 / 2023-10-26
5
+ * Support Rails 7.1
6
+
7
+ ## 5.9.4 / 2023-07-13
8
+ ### Added
9
+ * Support Ruby 3.2. Drop support for Ruby 2.7, Rails 6.0
10
+
4
11
  ## 5.9.3 / 2022-12-02
5
12
  ## Fixed
6
13
  * 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: 2253a90ec8db872590a8167fdebe95d6ed677cc2
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: 2253a90ec8db872590a8167fdebe95d6ed677cc2
27
27
  CODE_OF_CONDUCT.md:
28
28
  comments:
29
29
  reviewed_by: timgentry
@@ -48,14 +48,6 @@ file safety:
48
48
  comments:
49
49
  reviewed_by: timgentry
50
50
  safe_revision: e33e9dae7f38bc449ce9276515a539836dbbbd53
51
- gemfiles/Gemfile.rails52:
52
- comments:
53
- reviewed_by: josh.pencheon
54
- safe_revision: 8a6bedae77d33d0db1b67eaed7972870b6afc993
55
- gemfiles/Gemfile.rails60:
56
- comments:
57
- reviewed_by: brian.shand
58
- safe_revision: 16254a4332aab074a27c8e13859dc4712e707122
59
51
  gemfiles/Gemfile.rails61:
60
52
  comments:
61
53
  reviewed_by: brian.shand
@@ -64,6 +56,10 @@ file safety:
64
56
  comments:
65
57
  reviewed_by: brian.shand
66
58
  safe_revision: 16254a4332aab074a27c8e13859dc4712e707122
59
+ gemfiles/Gemfile.rails71:
60
+ comments:
61
+ reviewed_by: brian.shand
62
+ safe_revision: 2253a90ec8db872590a8167fdebe95d6ed677cc2
67
63
  lib/ndr_support.rb:
68
64
  comments:
69
65
  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: 45fa90daa2dd131ac0286ef7f4af1447bd01bc6c
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: 2253a90ec8db872590a8167fdebe95d6ed677cc2
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
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activerecord', '~> 7.1.0'
6
+ gem 'activesupport', '~> 7.1.0'
@@ -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.5'
7
7
  end
data/ndr_support.gemspec CHANGED
@@ -18,19 +18,19 @@ 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.2'
22
+ spec.add_dependency 'activesupport', '>= 6.1', '< 7.2'
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'
31
31
  spec.add_development_dependency 'mocha', '~> 2.0'
32
32
 
33
- spec.add_development_dependency 'ndr_dev_support', '~> 6.0.2'
33
+ spec.add_development_dependency 'ndr_dev_support', '~> 7.0'
34
34
 
35
35
  spec.add_development_dependency 'guard'
36
36
  spec.add_development_dependency 'guard-rubocop'
@@ -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.5
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-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,40 +16,40 @@ 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
- version: '7.1'
22
+ version: '7.2'
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: 6.0.0
29
+ version: '6.1'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '7.1'
32
+ version: '7.2'
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: 6.0.0
39
+ version: '6.1'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '7.1'
42
+ version: '7.2'
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: 6.0.0
49
+ version: '6.1'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '7.1'
52
+ version: '7.2'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -112,14 +112,14 @@ dependencies:
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: 6.0.2
115
+ version: '7.0'
116
116
  type: :development
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: 6.0.2
122
+ version: '7.0'
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: guard
125
125
  requirement: !ruby/object:Gem::Requirement
@@ -220,10 +220,9 @@ files:
220
220
  - README.md
221
221
  - Rakefile
222
222
  - code_safety.yml
223
- - gemfiles/Gemfile.rails52
224
- - gemfiles/Gemfile.rails60
225
223
  - gemfiles/Gemfile.rails61
226
224
  - gemfiles/Gemfile.rails70
225
+ - gemfiles/Gemfile.rails71
227
226
  - lib/ndr_support.rb
228
227
  - lib/ndr_support/array.rb
229
228
  - lib/ndr_support/concerns/working_days.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', '~> 5.2.0'
6
- gem 'activesupport', '~> 5.2.0'
@@ -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'