Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0767227

Browse files
committedMay 13, 2021
remove deprecated interface
1 parent 1df86a2 commit 0767227

File tree

4 files changed

+8
-122
lines changed

4 files changed

+8
-122
lines changed
 

‎lib/psych.rb

Lines changed: 6 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,6 @@
234234
module Psych
235235
# The version of libyaml Psych is using
236236
LIBYAML_VERSION = Psych.libyaml_version.join('.').freeze
237-
# Deprecation guard
238-
NOT_GIVEN = Object.new.freeze
239-
private_constant :NOT_GIVEN
240237

241238
###
242239
# Load +yaml+ in to a Ruby data structure. If multiple documents are
@@ -271,12 +268,7 @@ module Psych
271268
# YAML documents that are supplied via user input. Instead, please use the
272269
# load method or the safe_load method.
273270
#
274-
def self.unsafe_load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: false, symbolize_names: false, freeze: false
275-
if legacy_filename != NOT_GIVEN
276-
warn_with_uplevel 'Passing filename with the 2nd argument of Psych.load is deprecated. Use keyword argument like Psych.load(yaml, filename: ...) instead.', uplevel: 1 if $VERBOSE
277-
filename = legacy_filename
278-
end
279-
271+
def self.unsafe_load yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false
280272
result = parse(yaml, filename: filename)
281273
return fallback unless result
282274
result.to_ruby(symbolize_names: symbolize_names, freeze: freeze)
@@ -327,27 +319,7 @@ class << self; alias :load :unsafe_load; end
327319
# Psych.safe_load("---\n foo: bar") # => {"foo"=>"bar"}
328320
# Psych.safe_load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
329321
#
330-
def self.safe_load yaml, legacy_permitted_classes = NOT_GIVEN, legacy_permitted_symbols = NOT_GIVEN, legacy_aliases = NOT_GIVEN, legacy_filename = NOT_GIVEN, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false
331-
if legacy_permitted_classes != NOT_GIVEN
332-
warn_with_uplevel 'Passing permitted_classes with the 2nd argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, permitted_classes: ...) instead.', uplevel: 1 if $VERBOSE
333-
permitted_classes = legacy_permitted_classes
334-
end
335-
336-
if legacy_permitted_symbols != NOT_GIVEN
337-
warn_with_uplevel 'Passing permitted_symbols with the 3rd argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, permitted_symbols: ...) instead.', uplevel: 1 if $VERBOSE
338-
permitted_symbols = legacy_permitted_symbols
339-
end
340-
341-
if legacy_aliases != NOT_GIVEN
342-
warn_with_uplevel 'Passing aliases with the 4th argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, aliases: ...) instead.', uplevel: 1 if $VERBOSE
343-
aliases = legacy_aliases
344-
end
345-
346-
if legacy_filename != NOT_GIVEN
347-
warn_with_uplevel 'Passing filename with the 5th argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, filename: ...) instead.', uplevel: 1 if $VERBOSE
348-
filename = legacy_filename
349-
end
350-
322+
def self.safe_load yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false
351323
result = parse(yaml, filename: filename)
352324
return fallback unless result
353325

@@ -422,22 +394,12 @@ def self.load yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases:
422394
# end
423395
#
424396
# See Psych::Nodes for more information about YAML AST.
425-
def self.parse yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: NOT_GIVEN
426-
if legacy_filename != NOT_GIVEN
427-
warn_with_uplevel 'Passing filename with the 2nd argument of Psych.parse is deprecated. Use keyword argument like Psych.parse(yaml, filename: ...) instead.', uplevel: 1 if $VERBOSE
428-
filename = legacy_filename
429-
end
430-
397+
def self.parse yaml, filename: nil
431398
parse_stream(yaml, filename: filename) do |node|
432399
return node
433400
end
434401

435-
if fallback != NOT_GIVEN
436-
warn_with_uplevel 'Passing the `fallback` keyword argument of Psych.parse is deprecated.', uplevel: 1 if $VERBOSE
437-
fallback
438-
else
439-
false
440-
end
402+
false
441403
end
442404

443405
###
@@ -486,12 +448,7 @@ def self.parser
486448
# Raises a TypeError when NilClass is passed.
487449
#
488450
# See Psych::Nodes for more information about YAML AST.
489-
def self.parse_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, &block
490-
if legacy_filename != NOT_GIVEN
491-
warn_with_uplevel 'Passing filename with the 2nd argument of Psych.parse_stream is deprecated. Use keyword argument like Psych.parse_stream(yaml, filename: ...) instead.', uplevel: 1 if $VERBOSE
492-
filename = legacy_filename
493-
end
494-
451+
def self.parse_stream yaml, filename: nil, &block
495452
if block_given?
496453
parser = Psych::Parser.new(Handlers::DocumentStream.new(&block))
497454
parser.parse yaml, filename
@@ -592,12 +549,7 @@ def self.to_json object
592549
# end
593550
# list # => ['foo', 'bar']
594551
#
595-
def self.load_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: [], **kwargs
596-
if legacy_filename != NOT_GIVEN
597-
warn_with_uplevel 'Passing filename with the 2nd argument of Psych.load_stream is deprecated. Use keyword argument like Psych.load_stream(yaml, filename: ...) instead.', uplevel: 1 if $VERBOSE
598-
filename = legacy_filename
599-
end
600-
552+
def self.load_stream yaml, filename: nil, fallback: [], **kwargs
601553
result = if block_given?
602554
parse_stream(yaml, filename: filename) do |node|
603555
yield node.to_ruby(**kwargs)

‎test/psych/test_exception.rb

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,6 @@ def test_load_takes_file
5353
Psych.load '--- `', filename: 'meow'
5454
end
5555
assert_equal 'meow', ex.file
56-
57-
# deprecated interface
58-
ex = assert_raise(Psych::SyntaxError) do
59-
Psych.unsafe_load '--- `', 'deprecated'
60-
end
61-
assert_equal 'deprecated', ex.file
6256
end
6357

6458
def test_psych_parse_stream_takes_file
@@ -86,12 +80,6 @@ def test_load_stream_takes_file
8680
Psych.load_stream '--- `', filename: 'omg!'
8781
end
8882
assert_equal 'omg!', ex.file
89-
90-
# deprecated interface
91-
ex = assert_raise(Psych::SyntaxError) do
92-
Psych.load_stream '--- `', 'deprecated'
93-
end
94-
assert_equal 'deprecated', ex.file
9583
end
9684

9785
def test_parse_file_exception
@@ -141,12 +129,6 @@ def test_psych_parse_takes_file
141129
Psych.parse '--- `', filename: 'omg!'
142130
end
143131
assert_match 'omg!', ex.message
144-
145-
# deprecated interface
146-
ex = assert_raise(Psych::SyntaxError) do
147-
Psych.parse '--- `', 'deprecated'
148-
end
149-
assert_match 'deprecated', ex.message
150132
end
151133

152134
def test_attributes

‎test/psych/test_psych.rb

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,6 @@ def test_parse_raises_on_bad_input
7878
assert_raise(Psych::SyntaxError) { Psych.parse("--- `") }
7979
end
8080

81-
def test_parse_with_fallback
82-
assert_equal 42, Psych.parse("", fallback: 42)
83-
end
84-
8581
def test_non_existing_class_on_deserialize
8682
e = assert_raise(ArgumentError) do
8783
Psych.unsafe_load("--- !ruby/object:NonExistent\nfoo: 1")
@@ -239,11 +235,11 @@ def test_load_with_fallback_hash
239235
end
240236

241237
def test_load_with_fallback_for_nil
242-
assert_nil Psych.unsafe_load("--- null", "file", fallback: 42)
238+
assert_nil Psych.unsafe_load("--- null", filename: "file", fallback: 42)
243239
end
244240

245241
def test_load_with_fallback_for_false
246-
assert_equal false, Psych.unsafe_load("--- false", "file", fallback: 42)
242+
assert_equal false, Psych.unsafe_load("--- false", filename: "file", fallback: 42)
247243
end
248244

249245
def test_load_file

‎test/psych/test_safe_load.rb

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ def test_explicit_recursion
3131
x = []
3232
x << x
3333
assert_equal(x, Psych.safe_load(Psych.dump(x), permitted_classes: [], permitted_symbols: [], aliases: true))
34-
# deprecated interface
35-
assert_equal(x, Psych.safe_load(Psych.dump(x), [], [], true))
3634
end
3735

3836
def test_permitted_symbol
@@ -48,9 +46,6 @@ def test_permitted_symbol
4846
permitted_symbols: [:foo]
4947
)
5048
)
51-
52-
# deprecated interface
53-
assert_equal(:foo, Psych.safe_load(yml, [Symbol], [:foo]))
5449
end
5550

5651
def test_symbol
@@ -61,36 +56,20 @@ def test_symbol
6156
Psych.safe_load '--- !ruby/symbol foo', permitted_classes: []
6257
end
6358

64-
# deprecated interface
65-
assert_raise(Psych::DisallowedClass) do
66-
Psych.safe_load '--- !ruby/symbol foo', []
67-
end
68-
6959
assert_safe_cycle :foo, permitted_classes: [Symbol]
7060
assert_safe_cycle :foo, permitted_classes: %w{ Symbol }
7161
assert_equal :foo, Psych.safe_load('--- !ruby/symbol foo', permitted_classes: [Symbol])
72-
73-
# deprecated interface
74-
assert_equal :foo, Psych.safe_load('--- !ruby/symbol foo', [Symbol])
7562
end
7663

7764
def test_foo
7865
assert_raise(Psych::DisallowedClass) do
7966
Psych.safe_load '--- !ruby/object:Foo {}', permitted_classes: [Foo]
8067
end
8168

82-
# deprecated interface
83-
assert_raise(Psych::DisallowedClass) do
84-
Psych.safe_load '--- !ruby/object:Foo {}', [Foo]
85-
end
86-
8769
assert_raise(Psych::DisallowedClass) do
8870
assert_safe_cycle Foo.new
8971
end
9072
assert_kind_of(Foo, Psych.safe_load(Psych.dump(Foo.new), permitted_classes: [Foo]))
91-
92-
# deprecated interface
93-
assert_kind_of(Foo, Psych.safe_load(Psych.dump(Foo.new), [Foo]))
9473
end
9574

9675
X = Struct.new(:x)
@@ -122,27 +101,6 @@ def test_anon_struct
122101
end
123102
end
124103

125-
def test_deprecated_anon_struct
126-
assert Psych.safe_load(<<-eoyml, [Struct, Symbol])
127-
--- !ruby/struct
128-
foo: bar
129-
eoyml
130-
131-
assert_raise(Psych::DisallowedClass) do
132-
Psych.safe_load(<<-eoyml, [Struct])
133-
--- !ruby/struct
134-
foo: bar
135-
eoyml
136-
end
137-
138-
assert_raise(Psych::DisallowedClass) do
139-
Psych.safe_load(<<-eoyml, [Symbol])
140-
--- !ruby/struct
141-
foo: bar
142-
eoyml
143-
end
144-
end
145-
146104
def test_safe_load_default_fallback
147105
assert_nil Psych.safe_load("")
148106
end
@@ -159,8 +117,6 @@ def test_safe_load_raises_on_bad_input
159117

160118
def cycle object, permitted_classes: []
161119
Psych.safe_load(Psych.dump(object), permitted_classes: permitted_classes)
162-
# deprecated interface test
163-
Psych.safe_load(Psych.dump(object), permitted_classes)
164120
end
165121

166122
def assert_safe_cycle object, permitted_classes: []

0 commit comments

Comments
 (0)