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 +4 -4
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +4 -0
- data/code_safety.yml +17 -21
- data/lib/ndr_support/date_and_time_extensions.rb +7 -1
- data/lib/ndr_support/ourdate/build_datetime.rb +8 -3
- data/lib/ndr_support/ourdate.rb +6 -1
- data/lib/ndr_support/string/conversions.rb +7 -2
- data/lib/ndr_support/version.rb +1 -1
- data/ndr_support.gemspec +3 -3
- data/test/daterange_test.rb +7 -1
- data/test/string/conversions_test.rb +7 -1
- data/test/test_helper.rb +5 -1
- metadata +7 -8
- data/gemfiles/Gemfile.rails60 +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4ca42961473b3e0f614709e4506f7f37e44b14e4f212db71e59e5386f7f4b852
|
|
4
|
+
data.tar.gz: 3d213bdfe03991c73f7bffe451208fec727d52337cdaf659e1a815d503962929
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cc033dac0c4eb88222a0b75630fad6505902f680b153ea2a8024cf5fa1ba8823d935e0f75f1384f9e716bfbe6265ba980ea3fb892a263f506737bb146356eff3
|
|
7
|
+
data.tar.gz: 7930201e594ad93153ff833e76e7ed5ced7eb3c35f4c57a88404a36e5e1e64b36bf79c2f764449bccc5eb5a139a03a9edf9b7f427efd4a78e97697f68b7e3096
|
data/.rubocop.yml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require: ndr_dev_support
|
data/CHANGELOG.md
CHANGED
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:
|
|
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:
|
|
22
|
-
safe_revision:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
150
|
-
safe_revision:
|
|
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:
|
|
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:
|
|
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:
|
|
206
|
-
safe_revision:
|
|
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:
|
|
266
|
-
safe_revision:
|
|
261
|
+
reviewed_by: brian.shand
|
|
262
|
+
safe_revision: 8796a1a32273a106a6b1a134a48077cff0176659
|
|
267
263
|
test/test_helper.rb:
|
|
268
264
|
comments:
|
|
269
|
-
reviewed_by:
|
|
270
|
-
safe_revision:
|
|
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
|
-
|
|
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
|
|
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(
|
|
29
|
+
Time.send(default_timezone, *time_array).to_datetime
|
|
25
30
|
rescue
|
|
26
|
-
zone_offset =
|
|
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
|
data/lib/ndr_support/ourdate.rb
CHANGED
|
@@ -15,7 +15,12 @@ class Ourdate
|
|
|
15
15
|
#--
|
|
16
16
|
# TODO: Use Ourdate.build_datetime everywhere below:
|
|
17
17
|
#++
|
|
18
|
-
if ActiveRecord
|
|
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
|
-
|
|
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
|
|
data/lib/ndr_support/version.rb
CHANGED
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.
|
|
22
|
-
spec.add_dependency 'activesupport', '>= 6.
|
|
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 = '>=
|
|
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'
|
data/test/daterange_test.rb
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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: '
|
|
294
|
+
version: '3.0'
|
|
296
295
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
297
296
|
requirements:
|
|
298
297
|
- - ">="
|