warning 1.1.0 → 1.2.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 +4 -4
- data/CHANGELOG +10 -0
- data/README.rdoc +1 -0
- data/lib/warning.rb +51 -42
- data/test/test_freeze_warning.rb +5 -6
- data/test/test_warning.rb +77 -61
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2628e7956e2f0c2a7f55ef1d4397a1f1ff8339d48904b49fc16692934930464
|
4
|
+
data.tar.gz: 72b7fa93465fe52a2907ef2172d3c90694308af52bb2cd5b9117c6e7084419d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8f95072982d387477121b90c13790876743d9a40a0a32c06a1ea72720b85c6d831c4dceff28445dd8be2a3ba6e915670b874a908e6b438cce40c83229f95a15
|
7
|
+
data.tar.gz: 3cf24b069bc071cdf425aad86fae1c0b37b3cf723ee8c365a09a183da7e3f737f7eb454f8b1fbc29be1a9651d01fd286e13562ea442c1ae57ca5fc2c045a7570
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
=== 1.2.0 (2021-02-16)
|
2
|
+
|
3
|
+
* Add support for :void_context as regexp argument to Warning.ignore (jeremyevans)
|
4
|
+
|
5
|
+
* Support :category keyword to Warning.warn on Ruby 3.0 (jeremyevans)
|
6
|
+
|
7
|
+
* Fix :taint warning handling on Ruby 3.0 (jeremyevans)
|
8
|
+
|
9
|
+
* Fix :ambiguous_slash warning handling on Ruby 3.0 (jeremyevans)
|
10
|
+
|
1
11
|
=== 1.1.0 (2020-06-12)
|
2
12
|
|
3
13
|
* Allow Warning.process to be called with a hash of actions instead of a block (jeremyevans)
|
data/README.rdoc
CHANGED
@@ -42,6 +42,7 @@ appropriate regexp. The supported symbols are:
|
|
42
42
|
* :taint
|
43
43
|
* :unused_var
|
44
44
|
* :useless_operator
|
45
|
+
* :void_context
|
45
46
|
|
46
47
|
<tt>Warning.process</tt> takes an optional path prefix and a block, and if the
|
47
48
|
warning string starts with the path prefix, it calls the block with the warning
|
data/lib/warning.rb
CHANGED
@@ -4,7 +4,7 @@ module Warning
|
|
4
4
|
module Processor
|
5
5
|
# Map of symbols to regexps for warning messages to ignore.
|
6
6
|
IGNORE_MAP = {
|
7
|
-
ambiguous_slash: /: warning: ambiguous first argument; put parentheses or a space even after `\/' operator\n\z/,
|
7
|
+
ambiguous_slash: /: warning: ambiguous first argument; put parentheses or a space even after `\/' operator\n\z|: warning: ambiguity between regexp and two divisions: wrap regexp in parentheses or add a space after `\/' operator\n\z/,
|
8
8
|
arg_prefix: /: warning: `[&\*]' interpreted as argument prefix\n\z/,
|
9
9
|
bignum: /: warning: constant ::Bignum is deprecated\n\z/,
|
10
10
|
fixnum: /: warning: constant ::Fixnum is deprecated\n\z/,
|
@@ -17,8 +17,9 @@ module Warning
|
|
17
17
|
useless_operator: /: warning: possibly useless use of [><!=]+ in void context\n\z/,
|
18
18
|
keyword_separation: /: warning: (?:Using the last argument (?:for `.+' )?as keyword parameters is deprecated; maybe \*\* should be added to the call|Passing the keyword argument (?:for `.+' )?as the last hash parameter is deprecated|Splitting the last argument (?:for `.+' )?into positional and keyword parameters is deprecated|The called method (?:`.+' )?is defined here)\n\z/,
|
19
19
|
safe: /: warning: (?:rb_safe_level_2_warning|rb_safe_level|rb_set_safe_level_force|rb_set_safe_level|rb_secure|rb_insecure_operation|rb_check_safe_obj|\$SAFE) will (?:be removed|become a normal global variable) in Ruby 3\.0\n\z/,
|
20
|
-
taint: /: warning: (?:rb_error_untrusted|rb_check_trusted|Pathname#taint|Pathname#untaint|rb_env_path_tainted|Object#tainted\?|Object#taint|Object#untaint|Object#untrusted\?|Object#untrust|Object#trust|rb_obj_infect|rb_tainted_str_new|rb_tainted_str_new_cstr) is deprecated and will be removed in Ruby 3\.2
|
20
|
+
taint: /: warning: (?:rb_error_untrusted|rb_check_trusted|Pathname#taint|Pathname#untaint|rb_env_path_tainted|Object#tainted\?|Object#taint|Object#untaint|Object#untrusted\?|Object#untrust|Object#trust|rb_obj_infect|rb_tainted_str_new|rb_tainted_str_new_cstr) is deprecated and will be removed in Ruby 3\.2\.?\n\z/,
|
21
21
|
mismatched_indentations: /: warning: mismatched indentations at '.+' with '.+' at \d+\n\z/,
|
22
|
+
void_context: /possibly useless use of :: in void context/,
|
22
23
|
}
|
23
24
|
|
24
25
|
# Map of action symbols to procs that return the symbol
|
@@ -75,6 +76,8 @@ module Warning
|
|
75
76
|
# :unused_var :: Ignore warnings for unused variables.
|
76
77
|
# :useless_operator :: Ignore warnings when using operators such as == and > when the
|
77
78
|
# result is not used.
|
79
|
+
# :void_context :: Ignore warnings for :: to reference constants when the result is not
|
80
|
+
# used (often used to trigger autoload).
|
78
81
|
#
|
79
82
|
# Examples:
|
80
83
|
#
|
@@ -126,7 +129,7 @@ module Warning
|
|
126
129
|
# Instead of passing a block, you can pass a hash of actions to take for specific
|
127
130
|
# warnings, using regexp as keys and a callable objects as values:
|
128
131
|
#
|
129
|
-
# Warning.
|
132
|
+
# Warning.process(__FILE__,
|
130
133
|
# /instance variable @\w+ not initialized/ => proc do |warning|
|
131
134
|
# LOGGER.warning(warning)
|
132
135
|
# end,
|
@@ -166,57 +169,63 @@ module Warning
|
|
166
169
|
nil
|
167
170
|
end
|
168
171
|
|
169
|
-
# Handle ignored warnings and warning processors. If the warning is
|
170
|
-
# not ignored, is not a duplicate warning (if checking for duplicates)
|
171
|
-
# and there is no warning processor setup for the warning
|
172
|
-
# string, then use the default behavior of writing to $stderr.
|
173
|
-
def warn(str)
|
174
|
-
synchronize{@ignore.dup}.each do |path, regexp|
|
175
|
-
if str.start_with?(path) && str =~ regexp
|
176
|
-
return
|
177
|
-
end
|
178
|
-
end
|
179
172
|
|
180
|
-
|
181
|
-
|
182
|
-
|
173
|
+
if RUBY_VERSION >= '3.0'
|
174
|
+
method_args = ', category: nil'
|
175
|
+
super_ = "category ? super : super(str)"
|
176
|
+
else
|
177
|
+
super_ = "super"
|
178
|
+
end
|
179
|
+
|
180
|
+
class_eval(<<-END, __FILE__, __LINE__+1)
|
181
|
+
def warn(str#{method_args})
|
182
|
+
synchronize{@ignore.dup}.each do |path, regexp|
|
183
|
+
if str.start_with?(path) && str =~ regexp
|
184
|
+
return
|
185
|
+
end
|
183
186
|
end
|
184
187
|
|
185
|
-
|
186
|
-
|
188
|
+
if @dedup
|
189
|
+
if synchronize{@dedup[str]}
|
190
|
+
return
|
191
|
+
end
|
192
|
+
|
193
|
+
synchronize{@dedup[str] = true}
|
194
|
+
end
|
187
195
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
196
|
+
action = catch(:action) do
|
197
|
+
synchronize{@process.dup}.each do |path, block|
|
198
|
+
if str.start_with?(path)
|
199
|
+
if block.is_a?(Hash)
|
200
|
+
block.each do |regexp, blk|
|
201
|
+
if str =~ regexp
|
202
|
+
throw :action, blk.call(str)
|
203
|
+
end
|
195
204
|
end
|
205
|
+
else
|
206
|
+
throw :action, block.call(str)
|
196
207
|
end
|
197
|
-
else
|
198
|
-
throw :action, block.call(str)
|
199
208
|
end
|
200
209
|
end
|
210
|
+
|
211
|
+
:default
|
201
212
|
end
|
202
213
|
|
203
|
-
|
204
|
-
|
214
|
+
case action
|
215
|
+
when :default
|
216
|
+
#{super_}
|
217
|
+
when :backtrace
|
218
|
+
#{super_}
|
219
|
+
$stderr.puts caller
|
220
|
+
when :raise
|
221
|
+
raise str
|
222
|
+
else
|
223
|
+
# nothing
|
224
|
+
end
|
205
225
|
|
206
|
-
|
207
|
-
when :default
|
208
|
-
super
|
209
|
-
when :backtrace
|
210
|
-
super
|
211
|
-
$stderr.puts caller
|
212
|
-
when :raise
|
213
|
-
raise str
|
214
|
-
else
|
215
|
-
# nothing
|
226
|
+
nil
|
216
227
|
end
|
217
|
-
|
218
|
-
nil
|
219
|
-
end
|
228
|
+
END
|
220
229
|
|
221
230
|
private
|
222
231
|
|
data/test/test_freeze_warning.rb
CHANGED
@@ -40,31 +40,30 @@ class WarningFreezeTest < Minitest::Test
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_warning_ignore
|
43
|
-
obj = Object.new
|
44
43
|
w = nil
|
45
44
|
|
46
|
-
Warning.ignore(/
|
45
|
+
Warning.ignore(/global variable `\$test_warning_ignore' not initialized/)
|
47
46
|
Warning.process do |warning|
|
48
47
|
w = [4, warning]
|
49
48
|
end
|
50
49
|
Warning.freeze
|
51
50
|
|
52
51
|
assert_raises RuntimeError do
|
53
|
-
Warning.ignore(/
|
52
|
+
Warning.ignore(/global variable `\$test_warning_ignore' not initialized/)
|
54
53
|
end
|
55
54
|
assert_raises RuntimeError do
|
56
55
|
Warning.process{|warning| w = [4, warning]}
|
57
56
|
end
|
58
57
|
|
59
58
|
assert_warning '' do
|
60
|
-
|
59
|
+
$test_warning_ignore
|
61
60
|
end
|
62
61
|
assert_nil w
|
63
62
|
|
64
63
|
assert_warning '' do
|
65
|
-
|
64
|
+
$test_warning_ignore2
|
66
65
|
end
|
67
66
|
assert_equal(4, w.first)
|
68
|
-
assert_match(/
|
67
|
+
assert_match(/global variable `\$test_warning_ignore2' not initialized/, w.last)
|
69
68
|
end
|
70
69
|
end
|
data/test/test_warning.rb
CHANGED
@@ -48,71 +48,65 @@ class WarningTest < Minitest::Test
|
|
48
48
|
Warning.clear
|
49
49
|
end
|
50
50
|
|
51
|
-
def ivar
|
52
|
-
Object.new.instance_variable_get(:@ivar)
|
53
|
-
end
|
54
|
-
|
55
51
|
def test_warning_dedup
|
56
|
-
|
57
|
-
|
52
|
+
gvar = ->{$test_warning_dedup}
|
53
|
+
|
54
|
+
assert_warning(/global variable `\$test_warning_dedup' not initialized/) do
|
55
|
+
gvar.call
|
58
56
|
end
|
59
|
-
assert_warning(/
|
60
|
-
|
57
|
+
assert_warning(/global variable `\$test_warning_dedup' not initialized/) do
|
58
|
+
gvar.call
|
61
59
|
end
|
62
60
|
|
63
61
|
Warning.dedup
|
64
62
|
|
65
|
-
assert_warning(/
|
66
|
-
|
63
|
+
assert_warning(/global variable `\$test_warning_dedup' not initialized/) do
|
64
|
+
gvar.call
|
67
65
|
end
|
68
66
|
assert_warning('') do
|
69
|
-
|
67
|
+
gvar.call
|
70
68
|
end
|
71
69
|
end
|
72
70
|
|
73
71
|
def test_warning_ignore
|
74
|
-
|
75
|
-
|
76
|
-
assert_warning(/instance variable @ivar not initialized/) do
|
77
|
-
assert_nil(obj.instance_variable_get(:@ivar))
|
78
|
-
end
|
79
|
-
|
80
|
-
assert_warning(/instance variable @ivar not initialized/) do
|
81
|
-
assert_nil(obj.instance_variable_get(:@ivar))
|
72
|
+
assert_warning(/global variable `\$test_warning_ignore' not initialized/) do
|
73
|
+
assert_nil($test_warning_ignore)
|
82
74
|
end
|
83
75
|
|
84
|
-
Warning.ignore(/
|
76
|
+
Warning.ignore(/global variable `\$test_warning_ignore' not initialized/)
|
85
77
|
|
86
78
|
assert_warning '' do
|
87
|
-
assert_nil(
|
79
|
+
assert_nil($test_warning_ignore)
|
88
80
|
end
|
89
81
|
|
90
|
-
assert_warning(/
|
91
|
-
assert_nil(
|
82
|
+
assert_warning(/global variable `\$test_warning_ignore2' not initialized/) do
|
83
|
+
assert_nil($test_warning_ignore2)
|
92
84
|
end
|
93
85
|
|
94
|
-
Warning.ignore(/
|
86
|
+
Warning.ignore(/global variable `\$test_warning_ignore2' not initialized/, __FILE__)
|
95
87
|
|
96
88
|
assert_warning '' do
|
97
|
-
assert_nil(
|
89
|
+
assert_nil($test_warning_ignore2)
|
98
90
|
end
|
99
91
|
|
100
|
-
assert_warning(/
|
101
|
-
assert_nil(
|
92
|
+
assert_warning(/global variable `\$test_warning_ignore3' not initialized/) do
|
93
|
+
assert_nil($test_warning_ignore3)
|
102
94
|
end
|
103
95
|
|
104
|
-
Warning.ignore(/
|
96
|
+
Warning.ignore(/global variable `\$test_warning_ignore3' not initialized/, __FILE__ + 'a')
|
105
97
|
|
106
|
-
assert_warning(/
|
107
|
-
assert_nil(
|
98
|
+
assert_warning(/global variable `\$test_warning_ignore3' not initialized/) do
|
99
|
+
assert_nil($test_warning_ignore3)
|
108
100
|
end
|
109
101
|
end
|
110
102
|
|
111
103
|
def test_warning_ignore_missing_ivar
|
112
104
|
Warning.clear
|
113
105
|
|
114
|
-
|
115
|
-
|
106
|
+
unless RUBY_VERSION >= '3.0'
|
107
|
+
assert_warning(/instance variable @ivar not initialized/) do
|
108
|
+
assert_nil(instance_variable_get(:@ivar))
|
109
|
+
end
|
116
110
|
end
|
117
111
|
|
118
112
|
Warning.ignore(:missing_ivar, __FILE__)
|
@@ -184,9 +178,21 @@ class WarningTest < Minitest::Test
|
|
184
178
|
end
|
185
179
|
end
|
186
180
|
|
181
|
+
def test_warning_ignore_void_context
|
182
|
+
assert_warning(/warning: possibly useless use of :: in void context/) do
|
183
|
+
instance_eval('::Object; nil', __FILE__, __LINE__)
|
184
|
+
end
|
185
|
+
|
186
|
+
Warning.ignore(:void_context, __FILE__)
|
187
|
+
|
188
|
+
assert_warning '' do
|
189
|
+
instance_eval('::Object; nil', __FILE__, __LINE__)
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
187
193
|
def test_warning_ignore_ambiguous_slash
|
188
194
|
def self.d(re); end
|
189
|
-
assert_warning(/warning:
|
195
|
+
assert_warning(/warning: ambi/) do
|
190
196
|
instance_eval('d /a/', __FILE__)
|
191
197
|
end
|
192
198
|
|
@@ -368,15 +374,14 @@ class WarningTest < Minitest::Test
|
|
368
374
|
end
|
369
375
|
|
370
376
|
def test_warning_process
|
371
|
-
obj = Object.new
|
372
377
|
warn = nil
|
373
378
|
|
374
379
|
Warning.process(__FILE__+'a') do |warning|
|
375
380
|
warn = [0, warning]
|
376
381
|
end
|
377
382
|
|
378
|
-
assert_warning(/
|
379
|
-
|
383
|
+
assert_warning(/global variable `\$test_warning_process' not initialized/) do
|
384
|
+
$test_warning_process
|
380
385
|
end
|
381
386
|
assert_nil(warn)
|
382
387
|
|
@@ -385,10 +390,10 @@ class WarningTest < Minitest::Test
|
|
385
390
|
end
|
386
391
|
|
387
392
|
assert_warning '' do
|
388
|
-
|
393
|
+
$test_warning_process2
|
389
394
|
end
|
390
395
|
assert_equal(1, warn.first)
|
391
|
-
assert_match(/
|
396
|
+
assert_match(/global variable `\$test_warning_process2' not initialized/, warn.last)
|
392
397
|
warn = nil
|
393
398
|
|
394
399
|
Warning.process(File.dirname(__FILE__)) do |warning|
|
@@ -396,10 +401,10 @@ class WarningTest < Minitest::Test
|
|
396
401
|
end
|
397
402
|
|
398
403
|
assert_warning '' do
|
399
|
-
|
404
|
+
$test_warning_process3
|
400
405
|
end
|
401
406
|
assert_equal(1, warn.first)
|
402
|
-
assert_match(/
|
407
|
+
assert_match(/global variable `\$test_warning_process3' not initialized/, warn.last)
|
403
408
|
warn = nil
|
404
409
|
|
405
410
|
Warning.process(__FILE__+':') do |warning|
|
@@ -407,16 +412,16 @@ class WarningTest < Minitest::Test
|
|
407
412
|
end
|
408
413
|
|
409
414
|
assert_warning '' do
|
410
|
-
|
415
|
+
$test_warning_process4
|
411
416
|
end
|
412
417
|
assert_equal(3, warn.first)
|
413
|
-
assert_match(/
|
418
|
+
assert_match(/global variable `\$test_warning_process4' not initialized/, warn.last)
|
414
419
|
warn = nil
|
415
420
|
|
416
421
|
Warning.clear
|
417
422
|
|
418
|
-
assert_warning(/
|
419
|
-
|
423
|
+
assert_warning(/global variable `\$test_warning_process5' not initialized/) do
|
424
|
+
$test_warning_process5
|
420
425
|
end
|
421
426
|
assert_nil(warn)
|
422
427
|
|
@@ -425,10 +430,10 @@ class WarningTest < Minitest::Test
|
|
425
430
|
end
|
426
431
|
|
427
432
|
assert_warning '' do
|
428
|
-
|
433
|
+
$test_warning_process6
|
429
434
|
end
|
430
435
|
assert_equal(4, warn.first)
|
431
|
-
assert_match(/
|
436
|
+
assert_match(/global variable `\$test_warning_process6' not initialized/, warn.last)
|
432
437
|
end
|
433
438
|
|
434
439
|
def test_warning_process_block_return_default
|
@@ -438,10 +443,10 @@ class WarningTest < Minitest::Test
|
|
438
443
|
:default
|
439
444
|
end
|
440
445
|
|
441
|
-
assert_warning(/
|
442
|
-
|
446
|
+
assert_warning(/global variable `\$test_warning_process_block_return_default' not initialized/) do
|
447
|
+
$test_warning_process_block_return_default
|
443
448
|
end
|
444
|
-
assert_match(/
|
449
|
+
assert_match(/global variable `\$test_warning_process_block_return_default' not initialized/, w)
|
445
450
|
end
|
446
451
|
|
447
452
|
def test_warning_process_block_return_backtrace
|
@@ -451,10 +456,10 @@ class WarningTest < Minitest::Test
|
|
451
456
|
:backtrace
|
452
457
|
end
|
453
458
|
|
454
|
-
assert_warning(/
|
455
|
-
|
459
|
+
assert_warning(/global variable `\$test_warning_process_block_return_backtrace' not initialized.*#{__FILE__}/m) do
|
460
|
+
$test_warning_process_block_return_backtrace
|
456
461
|
end
|
457
|
-
assert_match(/
|
462
|
+
assert_match(/global variable `\$test_warning_process_block_return_backtrace' not initialized/, w)
|
458
463
|
end
|
459
464
|
|
460
465
|
def test_warning_process_block_return_raise
|
@@ -464,26 +469,29 @@ class WarningTest < Minitest::Test
|
|
464
469
|
:raise
|
465
470
|
end
|
466
471
|
|
467
|
-
assert_raises(RuntimeError
|
468
|
-
|
472
|
+
assert_raises(RuntimeError) do
|
473
|
+
$test_warning_process_block_return_raise
|
469
474
|
end
|
470
|
-
assert_match(/
|
475
|
+
assert_match(/global variable `\$test_warning_process_block_return_raise' not initialized/, w)
|
471
476
|
end
|
472
477
|
|
473
478
|
def test_warning_process_action
|
474
479
|
w = nil
|
475
|
-
Warning.process(__FILE__, :
|
480
|
+
Warning.process(__FILE__, :method_redefined=>:default, :missing_gvar=>:backtrace, :ambiguous_slash=>:raise)
|
476
481
|
Warning.process(__FILE__, :not_reached=>proc do |warning|
|
477
482
|
w = warning
|
478
483
|
:raise
|
479
484
|
end)
|
480
485
|
|
481
|
-
assert_warning(/
|
482
|
-
|
486
|
+
assert_warning(/warning: method redefined/) do
|
487
|
+
Class.new do
|
488
|
+
def a; end
|
489
|
+
def a; end
|
490
|
+
end
|
483
491
|
end
|
484
492
|
|
485
|
-
assert_warning(/global variable `\$
|
486
|
-
$
|
493
|
+
assert_warning(/global variable `\$test_warning_process_action' not initialized.*#{__FILE__}/m) do
|
494
|
+
$test_warning_process_action
|
487
495
|
end
|
488
496
|
|
489
497
|
Warning.process(__FILE__) do |warning|
|
@@ -491,7 +499,7 @@ class WarningTest < Minitest::Test
|
|
491
499
|
:raise
|
492
500
|
end
|
493
501
|
|
494
|
-
assert_raises(RuntimeError, /warning:
|
502
|
+
assert_raises(RuntimeError, /warning: ambi/) do
|
495
503
|
EnvUtil.verbose_warning{instance_eval('d /a/', __FILE__)}
|
496
504
|
end
|
497
505
|
|
@@ -512,4 +520,12 @@ class WarningTest < Minitest::Test
|
|
512
520
|
Warning.process(__FILE__, :missing_ivar=>:default){}
|
513
521
|
end
|
514
522
|
end
|
523
|
+
|
524
|
+
if RUBY_VERSION >= '3.0'
|
525
|
+
def test_warning_warn_category_keyword
|
526
|
+
assert_warning('foo') do
|
527
|
+
Warning.warn("foo", category: :deprecated)
|
528
|
+
end
|
529
|
+
end
|
530
|
+
end
|
515
531
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warning
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest-global_expectations
|
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '0'
|
78
78
|
requirements: []
|
79
|
-
rubygems_version: 3.
|
79
|
+
rubygems_version: 3.2.3
|
80
80
|
signing_key:
|
81
81
|
specification_version: 4
|
82
82
|
summary: Add custom processing for warnings
|