ndr_support 5.8.4 → 5.9.0

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: 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
  - - ">="