ndr_support 5.8.4 → 5.9.0

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: 34884f8080512729d26a5b99ee45bcde3abf4761557539f5d2dd3c7e29744e8f
4
- data.tar.gz: 6e82d6aba23372b53d809f3ab245a507100874cb41f000897a488c7cab197287
3
+ metadata.gz: dc18cac2fe1d6de32316e751a1f4f9cd8050bdb2c3972e14c62a490a5cb10f15
4
+ data.tar.gz: 627714611718a64058082b873dddd855b6b6434395082d78381e8ad1954f7da6
5
5
  SHA512:
6
- metadata.gz: 3cc130d188abf756e32c59ad3f077bc696b17c0bbbb233e1c9f0f60f8cc8c111a719a605eea7be216af4ac91100335ca324cef32067b550c420b4440e41b37c8
7
- data.tar.gz: 34dd278940652be4ac9b840c47a4bb80c1ae6379eb46f3d4c700b178f7ccd02a448d301bf79edbaeefa0866a0ef98b04b58f3dddd922540960cc233803f5083a
6
+ metadata.gz: 7f2849f48fa7316c6ae326f87b17b95d225a975716d80ad5ae56e4b7a0b01b2f6bf82976c65070b144a5833cb7765516f383c378cccd96a9c60b52daa4e12a31
7
+ data.tar.gz: 862f14d702ebaccd054860aeaae4b93fac9b724dfeeb99581cd8ff0967169a3c267cd205e0ee1893c8b86d03f834db6d1afd7bed59e17f2881a2e80e75824f3c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
- *no unreleased changes*
2
+ * No unreleased changes
3
+
4
+ ## 5.9.0 / 2022-04-26
5
+ ## Fixed
6
+ * Support Rails 6.1
7
+ * Support Ruby 3.1
8
+
9
+ ## Changed
10
+ * Drop support for Ruby 2.6
3
11
 
4
12
  ## 5.8.4 / 2021-12-27
5
13
  ## Fixed
@@ -19,7 +27,6 @@
19
27
 
20
28
  ## 5.8.0 / 2021-04-19
21
29
  ## Added
22
-
23
30
  * Add ability to disable date reversing in Daterange
24
31
 
25
32
  ## Fixed
data/code_safety.yml CHANGED
@@ -1,115 +1,123 @@
1
1
  ---
2
2
  file safety:
3
3
  ".github/CODEOWNERS":
4
- comments:
4
+ comments:
5
5
  reviewed_by: ollietulloch
6
6
  safe_revision: 993f7719b57eb6ddd8dffa7230ed9ffc69f48749
7
7
  ".github/workflows/lint.yml":
8
- comments:
8
+ comments:
9
9
  reviewed_by: ollietulloch
10
10
  safe_revision: 993f7719b57eb6ddd8dffa7230ed9ffc69f48749
11
11
  ".github/workflows/test.yml":
12
- comments:
13
- reviewed_by: ollietulloch
14
- safe_revision: 993f7719b57eb6ddd8dffa7230ed9ffc69f48749
12
+ comments:
13
+ reviewed_by: brian.shand
14
+ safe_revision: e91fab5ac8474b001ca3805c6cce8eefa6b49f2d
15
15
  ".gitignore":
16
- comments:
16
+ comments:
17
17
  reviewed_by: josh.pencheon
18
18
  safe_revision: a02f14cbf1fc36fbaf820365fdedfdc9af326db1
19
19
  ".rubocop.yml":
20
- comments:
20
+ comments:
21
21
  reviewed_by: josh.pencheon
22
22
  safe_revision: a02f14cbf1fc36fbaf820365fdedfdc9af326db1
23
23
  CHANGELOG.md:
24
- comments:
24
+ comments:
25
25
  reviewed_by: brian.shand
26
- safe_revision: 3c246b08d80a424d160914a6597197b8925826ec
26
+ safe_revision: '0317988580be42bc3a3b64680e340223268c525f'
27
27
  CODE_OF_CONDUCT.md:
28
- comments:
28
+ comments:
29
29
  reviewed_by: timgentry
30
30
  safe_revision: c752769b91c0e782be0acf44e56bbc066a275365
31
31
  Gemfile:
32
- comments:
32
+ comments:
33
33
  reviewed_by: timgentry
34
34
  safe_revision: 6a7c3764e5315981070eba27b9f0be9d9182476c
35
35
  Guardfile:
36
- comments:
36
+ comments:
37
37
  reviewed_by: timgentry
38
38
  safe_revision: e33e9dae7f38bc449ce9276515a539836dbbbd53
39
39
  LICENSE.txt:
40
- comments:
40
+ comments:
41
41
  reviewed_by: timgentry
42
42
  safe_revision: 90328cca8494539257e192a63b240a91c89f0616
43
43
  README.md:
44
- comments:
44
+ comments:
45
45
  reviewed_by: ollietulloch
46
46
  safe_revision: 993f7719b57eb6ddd8dffa7230ed9ffc69f48749
47
47
  Rakefile:
48
- comments:
48
+ comments:
49
49
  reviewed_by: timgentry
50
50
  safe_revision: e33e9dae7f38bc449ce9276515a539836dbbbd53
51
51
  gemfiles/Gemfile.rails52:
52
- comments:
52
+ comments:
53
53
  reviewed_by: josh.pencheon
54
54
  safe_revision: 8a6bedae77d33d0db1b67eaed7972870b6afc993
55
55
  gemfiles/Gemfile.rails60:
56
- comments:
57
- reviewed_by: josh.pencheon
58
- safe_revision: 0cfcfac5ddcd721a67dcd23f04cbf6bc2278b922
56
+ comments:
57
+ reviewed_by: brian.shand
58
+ safe_revision: 16254a4332aab074a27c8e13859dc4712e707122
59
+ gemfiles/Gemfile.rails61:
60
+ comments:
61
+ reviewed_by: brian.shand
62
+ safe_revision: 16254a4332aab074a27c8e13859dc4712e707122
63
+ gemfiles/Gemfile.rails70:
64
+ comments:
65
+ reviewed_by: brian.shand
66
+ safe_revision: 16254a4332aab074a27c8e13859dc4712e707122
59
67
  lib/ndr_support.rb:
60
- comments:
68
+ comments:
61
69
  reviewed_by: brian.shand
62
70
  safe_revision: 44fbdf72f47f4022c7dc9148150ebc18589dac8f
63
71
  lib/ndr_support/array.rb:
64
- comments:
72
+ comments:
65
73
  reviewed_by: pauleves
66
74
  safe_revision: 4a4ed24d2cfe7e1736baadf4cf6e0fece6823be1
67
75
  lib/ndr_support/concerns/working_days.rb:
68
- comments:
76
+ comments:
69
77
  reviewed_by: brian.shand
70
78
  safe_revision: 42b82bdc466503800c021263899cdbbe444b78b0
71
79
  lib/ndr_support/date_and_time_extensions.rb:
72
- comments:
80
+ comments:
73
81
  reviewed_by: josh.pencheon
74
82
  safe_revision: c1158eccb843b637b4dd82815dc7c081f12b93e4
75
83
  lib/ndr_support/daterange.rb:
76
- comments:
84
+ comments:
77
85
  reviewed_by: brian.shand
78
86
  safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
79
87
  lib/ndr_support/hash.rb:
80
- comments:
88
+ comments:
81
89
  reviewed_by: pauleves
82
90
  safe_revision: 506a317e59d0ccb5b32d813b74d822f35a55cea9
83
91
  lib/ndr_support/integer/calculations.rb:
84
- comments:
92
+ comments:
85
93
  reviewed_by: josh.pencheon
86
94
  safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
87
95
  lib/ndr_support/integer/rounding.rb:
88
- comments:
96
+ comments:
89
97
  reviewed_by: josh.pencheon
90
98
  safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
91
99
  lib/ndr_support/integer/working_days.rb:
92
- comments:
100
+ comments:
93
101
  reviewed_by: josh.pencheon
94
102
  safe_revision: c1158eccb843b637b4dd82815dc7c081f12b93e4
95
103
  lib/ndr_support/nil.rb:
96
- comments:
104
+ comments:
97
105
  reviewed_by: pauleves
98
106
  safe_revision: 4a4ed24d2cfe7e1736baadf4cf6e0fece6823be1
99
107
  lib/ndr_support/obfuscator.rb:
100
- comments:
108
+ comments:
101
109
  reviewed_by: brian.shand
102
110
  safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
103
111
  lib/ndr_support/ourdate.rb:
104
- comments:
112
+ comments:
105
113
  reviewed_by: brian.shand
106
114
  safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
107
115
  lib/ndr_support/ourdate/build_datetime.rb:
108
- comments:
116
+ comments:
109
117
  reviewed_by: brian.shand
110
118
  safe_revision: 9d19593cc45a9f1724c4b34a1a05a5ff48003084
111
119
  lib/ndr_support/ourtime.rb:
112
- comments:
120
+ comments:
113
121
  reviewed_by: ollietulloch
114
122
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
115
123
  lib/ndr_support/password.rb:
@@ -121,107 +129,107 @@ file safety:
121
129
  reviewed_by: josh.pencheon
122
130
  safe_revision: f5d1ba50d378286c0541f300d73844240e2eb7c1
123
131
  lib/ndr_support/regexp_range.rb:
124
- comments:
132
+ comments:
125
133
  reviewed_by: pauleves
126
134
  safe_revision: f9341d1c7f797f9fe81af937c383d41c23872b2f
127
135
  lib/ndr_support/safe_file.rb:
128
- comments:
136
+ comments:
129
137
  reviewed_by: josh.pencheon
130
138
  safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
131
139
  lib/ndr_support/safe_path.rb:
132
- comments:
133
- reviewed_by: ollietulloch
134
- safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
140
+ comments:
141
+ reviewed_by: brian.shand
142
+ safe_revision: f4f7cb0803ea34a2f1ba83495d8bcbd942786bce
135
143
  lib/ndr_support/string/cleaning.rb:
136
- comments:
144
+ comments:
137
145
  reviewed_by: brianshand
138
146
  safe_revision: b7b033ad9773cc9037c408a7763b113d31cbf191
139
147
  lib/ndr_support/string/conversions.rb:
140
- comments:
148
+ comments:
141
149
  reviewed_by: ollietulloch
142
150
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
143
151
  lib/ndr_support/tasks.rb:
144
- comments:
152
+ comments:
145
153
  reviewed_by: timgentry
146
154
  safe_revision: 62337584a32e5c30c2e9af7cd998a9df684885cc
147
155
  lib/ndr_support/threat_scanner.rb:
148
- comments:
156
+ comments:
149
157
  reviewed_by: brianshand
150
158
  safe_revision: befa1d4f27448d5be4e133f442c2b5fbac7d8f25
151
159
  lib/ndr_support/utf8_encoding.rb:
152
- comments:
160
+ comments:
153
161
  reviewed_by: josh.pencheon
154
162
  safe_revision: 8e024a4bacfd36e172aad4b800f1960faae0b4b6
155
163
  lib/ndr_support/utf8_encoding/control_characters.rb:
156
- comments:
164
+ comments:
157
165
  reviewed_by: ollietulloch
158
166
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
159
167
  lib/ndr_support/utf8_encoding/force_binary.rb:
160
- comments:
168
+ comments:
161
169
  reviewed_by: ollietulloch
162
170
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
163
171
  lib/ndr_support/utf8_encoding/object_support.rb:
164
- comments:
172
+ comments:
165
173
  reviewed_by: ollietulloch
166
174
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
167
175
  lib/ndr_support/version.rb:
168
- comments:
176
+ comments:
169
177
  reviewed_by: brian.shand
170
- safe_revision: 3c246b08d80a424d160914a6597197b8925826ec
178
+ safe_revision: '0317988580be42bc3a3b64680e340223268c525f'
171
179
  lib/ndr_support/working_days.rb:
172
- comments:
180
+ comments:
173
181
  reviewed_by: josh.pencheon
174
182
  safe_revision: c1158eccb843b637b4dd82815dc7c081f12b93e4
175
183
  lib/ndr_support/yaml/serialization_migration.rb:
176
- comments:
177
- reviewed_by: timgentry
178
- safe_revision: 29595e6431587ff9b7db6e3ad3abbb3577bff99c
184
+ comments:
185
+ reviewed_by: brian.shand
186
+ safe_revision: f4f7cb0803ea34a2f1ba83495d8bcbd942786bce
179
187
  ndr_support.gemspec:
180
- comments:
181
- reviewed_by: ollietulloch
182
- safe_revision: 993f7719b57eb6ddd8dffa7230ed9ffc69f48749
188
+ comments:
189
+ reviewed_by: brian.shand
190
+ safe_revision: e91fab5ac8474b001ca3805c6cce8eefa6b49f2d
183
191
  test/array_test.rb:
184
- comments:
192
+ comments:
185
193
  reviewed_by: timgentry
186
194
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
187
195
  test/concerns/working_days_test.rb:
188
- comments:
196
+ comments:
189
197
  reviewed_by: josh.pencheon
190
198
  safe_revision: fe6c3beff445e3c84ed0c89f08e1ab10bfb00587
191
199
  test/daterange_test.rb:
192
- comments:
200
+ comments:
193
201
  reviewed_by: ollietulloch
194
202
  safe_revision: ccca1dc67e3742efb154e01e01243e7b38180936
195
203
  test/hash_test.rb:
196
- comments:
204
+ comments:
197
205
  reviewed_by: timgentry
198
206
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
199
207
  test/integer/calculations_test.rb:
200
- comments:
208
+ comments:
201
209
  reviewed_by: josh.pencheon
202
210
  safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
203
211
  test/integer/rounding_test.rb:
204
- comments:
212
+ comments:
205
213
  reviewed_by: josh.pencheon
206
214
  safe_revision: 2685f35c907af6968a69eabb5ab9424b490d0f40
207
215
  test/integer/working_days_test.rb:
208
- comments:
216
+ comments:
209
217
  reviewed_by: josh.pencheon
210
218
  safe_revision: c1158eccb843b637b4dd82815dc7c081f12b93e4
211
219
  test/nil_test.rb:
212
- comments:
220
+ comments:
213
221
  reviewed_by: timgentry
214
222
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
215
223
  test/obfuscator_test.rb:
216
- comments:
224
+ comments:
217
225
  reviewed_by: brian.shand
218
226
  safe_revision: 50a4293953f9ae227823c390b069a3ed4825074c
219
227
  test/ourdate_test.rb:
220
- comments:
228
+ comments:
221
229
  reviewed_by: josh.pencheon
222
230
  safe_revision: 7c32f5a80c1fb7aaf6e850d4b0651a7b47640e15
223
231
  test/ourtime_test.rb:
224
- comments:
232
+ comments:
225
233
  reviewed_by: brian.shand
226
234
  safe_revision: b9bc1e18464a27f84e69ebea083dd6a8d351c8cb
227
235
  test/password_test.rb:
@@ -229,50 +237,50 @@ file safety:
229
237
  reviewed_by: josh.pencheon
230
238
  safe_revision: f5d1ba50d378286c0541f300d73844240e2eb7c1
231
239
  test/regexp_range_test.rb:
232
- comments:
233
- reviewed_by: timgentry
234
- safe_revision: 29595e6431587ff9b7db6e3ad3abbb3577bff99c
240
+ comments:
241
+ reviewed_by: brian.shand
242
+ safe_revision: f4f7cb0803ea34a2f1ba83495d8bcbd942786bce
235
243
  test/resources/filesystem_paths.yml:
236
- comments:
244
+ comments:
237
245
  reviewed_by: timgentry
238
246
  safe_revision: 81061f85ccdf8933adc7f104d7eeaef1e2d71e26
239
247
  test/safe_file_test.rb:
240
- comments:
248
+ comments:
241
249
  reviewed_by: josh.pencheon
242
250
  safe_revision: 24ba08d3a8f4b284678244aaffa2aaa347256900
243
251
  test/safe_path_test.rb:
244
- comments:
252
+ comments:
245
253
  reviewed_by: timgentry
246
254
  safe_revision: b562d0c15ff1b1d565522a47e6bae47ea09706f0
247
255
  test/string/cleaning_test.rb:
248
- comments:
256
+ comments:
249
257
  reviewed_by: brianshand
250
258
  safe_revision: b7b033ad9773cc9037c408a7763b113d31cbf191
251
259
  test/string/conversions_test.rb:
252
- comments:
260
+ comments:
253
261
  reviewed_by: ollietulloch
254
262
  safe_revision: '09b3f97fb4c1afc88d0d070c39796b1f60c39d25'
255
263
  test/test_helper.rb:
256
- comments:
264
+ comments:
257
265
  reviewed_by: josh.pencheon
258
266
  safe_revision: 34ae80f2952f0bfd18688541862774cbaaa6c5f5
259
267
  test/threat_scanner_test.rb:
260
- comments:
268
+ comments:
261
269
  reviewed_by: ollietulloch
262
270
  safe_revision: fbb6ef9804040aa2e38257d9f5c487bde18a490d
263
271
  test/utf8_encoding/control_characters_test.rb:
264
- comments:
272
+ comments:
265
273
  reviewed_by: timgentry
266
274
  safe_revision: d210b982841611381a0df02d8f2db9c13e41e42f
267
275
  test/utf8_encoding/force_binary_test.rb:
268
- comments:
276
+ comments:
269
277
  reviewed_by: timgentry
270
278
  safe_revision: 29595e6431587ff9b7db6e3ad3abbb3577bff99c
271
279
  test/utf8_encoding_test.rb:
272
- comments:
280
+ comments:
273
281
  reviewed_by: timgentry
274
282
  safe_revision: 2a5d30674dc9dde336e1dbbbf3c8a98905647432
275
283
  test/yaml/serialization_test.rb:
276
- comments:
277
- reviewed_by: josh.pencheon
278
- safe_revision: 4daf43bf8cb48761471b32ad45c4d1cf97aab476
284
+ comments:
285
+ reviewed_by: brian.shand
286
+ safe_revision: f4f7cb0803ea34a2f1ba83495d8bcbd942786bce
@@ -2,5 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec path: '..'
4
4
 
5
- gem 'activerecord', '~> 6.0.0rc1'
6
- gem 'activesupport', '~> 6.0.0rc1'
5
+ gem 'activerecord', '~> 6.0.0'
6
+ gem 'activesupport', '~> 6.0.0'
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activerecord', '~> 6.1.0'
6
+ gem 'activesupport', '~> 6.1.0'
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activerecord', '~> 7.0.0'
6
+ gem 'activesupport', '~> 7.0.0'
@@ -64,13 +64,12 @@ class SafePath
64
64
  # should be used. Attempting to reconfigure with
65
65
  # new settings will raise a security error.
66
66
  def self.configure!(filepath)
67
- if defined?(@@fs_paths)
68
- fail SecurityError, 'Attempt to re-assign SafePath config!'
69
- else
70
- File.open(filepath, 'r') do |file|
71
- @@fs_paths = YAML.load(ERB.new(file.read).result)
72
- @@fs_paths.freeze
73
- end
67
+ raise SecurityError, 'Attempt to re-assign SafePath config!' if defined?(@@fs_paths)
68
+
69
+ File.open(filepath, 'r') do |file|
70
+ @@fs_paths = YAML.safe_load(ERB.new(file.read).result,
71
+ permitted_classes: [Regexp], aliases: true)
72
+ @@fs_paths.freeze
74
73
  end
75
74
  end
76
75
 
@@ -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.8.4'
6
+ VERSION = '5.9.0'
7
7
  end
@@ -8,6 +8,10 @@ module NdrSupport
8
8
  module SerializationMigration
9
9
  include UTF8Encoding
10
10
 
11
+ # Classes we routinely allow to be included in our YAML serialisations, automatically
12
+ # accepted by load_yaml
13
+ YAML_SAFE_CLASSES = [Date, DateTime, Time, Symbol].freeze
14
+
11
15
  # Wrapper around: YAML.load(string)
12
16
  def load_yaml(string, coerce_invalid_chars = false)
13
17
  fix_encoding!(string, coerce_invalid_chars)
@@ -16,7 +20,12 @@ module NdrSupport
16
20
  handle_special_characters!(string, coerce_invalid_chars)
17
21
  fix_encoding!(string, coerce_invalid_chars)
18
22
 
19
- object = Psych.load(string)
23
+ # TODO: Bump NdrSupport major version, and switch to safe_load by default
24
+ object = if Psych::VERSION.start_with?('3.')
25
+ Psych.load(string)
26
+ else
27
+ Psych.safe_load(string, permitted_classes: YAML_SAFE_CLASSES)
28
+ end
20
29
 
21
30
  # Ensure that any string related to the object
22
31
  # we've loaded is also valid UTF-8.
data/ndr_support.gemspec CHANGED
@@ -24,15 +24,15 @@ Gem::Specification.new do |spec|
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.6.0'
27
+ spec.required_ruby_version = '>= 2.7'
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', '~> 1.1'
32
32
 
33
- spec.add_development_dependency 'ndr_dev_support', '~> 5.4', '>= 5.4.5'
33
+ spec.add_development_dependency 'ndr_dev_support', '~> 6.0.2'
34
+
34
35
  spec.add_development_dependency 'guard'
35
- spec.add_development_dependency 'listen', '< 3.1' # Bundle 1.12 should be (but isn't) resolving Ruby 2.1 issue
36
36
  spec.add_development_dependency 'guard-rubocop'
37
37
  spec.add_development_dependency 'guard-shell'
38
38
  spec.add_development_dependency 'guard-minitest'
@@ -16,7 +16,8 @@ class RegexpRangeTest < Minitest::Test
16
16
  regexp_range = RegexpRange.new(0, /^3Ut/)
17
17
 
18
18
  # Don't test YAML serialisation directly, but make it can be loaded:
19
- deserialized_regexp_range = YAML.load(regexp_range.to_yaml)
19
+ deserialized_regexp_range = YAML.safe_load(regexp_range.to_yaml,
20
+ permitted_classes: [RegexpRange, Regexp])
20
21
  assert_instance_of RegexpRange, deserialized_regexp_range
21
22
  assert_equal regexp_range.begin, deserialized_regexp_range.begin
22
23
  assert_equal regexp_range.end, deserialized_regexp_range.end
@@ -1,5 +1,3 @@
1
- # encoding: UTF-8
2
-
3
1
  require 'test_helper'
4
2
 
5
3
  class SerializationTest < Minitest::Test
@@ -70,7 +68,7 @@ class SerializationTest < Minitest::Test
70
68
 
71
69
  def assert_times
72
70
  # Dumped by 1.9.3 syck, within era.
73
- loaded = YAML.load("--- !timestamp 2014-03-01\n")
71
+ loaded = YAML.safe_load("--- !timestamp 2014-03-01\n", permitted_classes: YAML_SAFE_CLASSES)
74
72
  assert [Date, Time].include?(loaded.class), '1.9.3 era timestamp class'
75
73
  assert_equal 2014, loaded.year, '1.9.3 era timestamp year'
76
74
  assert_equal 3, loaded.month, '1.9.3 era timestamp month'
@@ -81,17 +79,17 @@ class SerializationTest < Minitest::Test
81
79
  date = Date.new(2014, 3, 1)
82
80
 
83
81
  # Dumped by 1.8.7 syck, within era.
84
- loaded = YAML.load("--- 2014-03-01\n")
82
+ loaded = YAML.safe_load("--- 2014-03-01\n", permitted_classes: YAML_SAFE_CLASSES)
85
83
  assert_equal date, loaded, '1.8.7 era date'
86
84
 
87
85
  # Check default formatting does not affect serialisation:
88
86
  assert_equal '01.03.2014', date.to_s
89
- assert_equal date, YAML.load(date.to_yaml)
87
+ assert_equal date, YAML.safe_load(date.to_yaml, permitted_classes: YAML_SAFE_CLASSES)
90
88
  end
91
89
 
92
90
  def assert_datetimes
93
91
  datetime = DateTime.new(2014, 3, 1, 12, 45, 15)
94
- loaded = YAML.load(datetime.to_yaml)
92
+ loaded = YAML.safe_load(datetime.to_yaml, permitted_classes: YAML_SAFE_CLASSES)
95
93
 
96
94
  assert [DateTime, Time].include?(loaded.class), 'datetime class'
97
95
  assert_equal datetime, loaded.to_datetime
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.8.4
4
+ version: 5.9.0
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: 2021-12-27 00:00:00.000000000 Z
11
+ date: 2022-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -112,20 +112,14 @@ dependencies:
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: '5.4'
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: 5.4.5
115
+ version: 6.0.2
119
116
  type: :development
120
117
  prerelease: false
121
118
  version_requirements: !ruby/object:Gem::Requirement
122
119
  requirements:
123
120
  - - "~>"
124
121
  - !ruby/object:Gem::Version
125
- version: '5.4'
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- version: 5.4.5
122
+ version: 6.0.2
129
123
  - !ruby/object:Gem::Dependency
130
124
  name: guard
131
125
  requirement: !ruby/object:Gem::Requirement
@@ -140,20 +134,6 @@ dependencies:
140
134
  - - ">="
141
135
  - !ruby/object:Gem::Version
142
136
  version: '0'
143
- - !ruby/object:Gem::Dependency
144
- name: listen
145
- requirement: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - "<"
148
- - !ruby/object:Gem::Version
149
- version: '3.1'
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- requirements:
154
- - - "<"
155
- - !ruby/object:Gem::Version
156
- version: '3.1'
157
137
  - !ruby/object:Gem::Dependency
158
138
  name: guard-rubocop
159
139
  requirement: !ruby/object:Gem::Requirement
@@ -242,6 +222,8 @@ files:
242
222
  - code_safety.yml
243
223
  - gemfiles/Gemfile.rails52
244
224
  - gemfiles/Gemfile.rails60
225
+ - gemfiles/Gemfile.rails61
226
+ - gemfiles/Gemfile.rails70
245
227
  - lib/ndr_support.rb
246
228
  - lib/ndr_support/array.rb
247
229
  - lib/ndr_support/concerns/working_days.rb
@@ -309,7 +291,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
309
291
  requirements:
310
292
  - - ">="
311
293
  - !ruby/object:Gem::Version
312
- version: 2.6.0
294
+ version: '2.7'
313
295
  required_rubygems_version: !ruby/object:Gem::Requirement
314
296
  requirements:
315
297
  - - ">="