diff --git a/lib/psych.rb b/lib/psych.rb index 9b9ccc86..27aeff96 100644 --- a/lib/psych.rb +++ b/lib/psych.rb @@ -326,27 +326,7 @@ def self.unsafe_load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: # Psych.safe_load("---\n foo: bar") # => {"foo"=>"bar"} # Psych.safe_load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"} # - 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 - if legacy_permitted_classes != NOT_GIVEN - 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 - permitted_classes = legacy_permitted_classes - end - - if legacy_permitted_symbols != NOT_GIVEN - 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 - permitted_symbols = legacy_permitted_symbols - end - - if legacy_aliases != NOT_GIVEN - 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 - aliases = legacy_aliases - end - - if legacy_filename != NOT_GIVEN - 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 - filename = legacy_filename - end - + def self.safe_load yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false result = parse(yaml, filename: filename) return fallback unless result diff --git a/test/psych/test_safe_load.rb b/test/psych/test_safe_load.rb index d13ce7c7..b52d6048 100644 --- a/test/psych/test_safe_load.rb +++ b/test/psych/test_safe_load.rb @@ -31,8 +31,6 @@ def test_explicit_recursion x = [] x << x assert_equal(x, Psych.safe_load(Psych.dump(x), permitted_classes: [], permitted_symbols: [], aliases: true)) - # deprecated interface - assert_equal(x, Psych.safe_load(Psych.dump(x), [], [], true)) end def test_permitted_symbol @@ -48,9 +46,6 @@ def test_permitted_symbol permitted_symbols: [:foo] ) ) - - # deprecated interface - assert_equal(:foo, Psych.safe_load(yml, [Symbol], [:foo])) end def test_symbol @@ -61,17 +56,9 @@ def test_symbol Psych.safe_load '--- !ruby/symbol foo', permitted_classes: [] end - # deprecated interface - assert_raise(Psych::DisallowedClass) do - Psych.safe_load '--- !ruby/symbol foo', [] - end - assert_safe_cycle :foo, permitted_classes: [Symbol] assert_safe_cycle :foo, permitted_classes: %w{ Symbol } assert_equal :foo, Psych.safe_load('--- !ruby/symbol foo', permitted_classes: [Symbol]) - - # deprecated interface - assert_equal :foo, Psych.safe_load('--- !ruby/symbol foo', [Symbol]) end def test_foo @@ -79,18 +66,10 @@ def test_foo Psych.safe_load '--- !ruby/object:Foo {}', permitted_classes: [Foo] end - # deprecated interface - assert_raise(Psych::DisallowedClass) do - Psych.safe_load '--- !ruby/object:Foo {}', [Foo] - end - assert_raise(Psych::DisallowedClass) do assert_safe_cycle Foo.new end assert_kind_of(Foo, Psych.safe_load(Psych.dump(Foo.new), permitted_classes: [Foo])) - - # deprecated interface - assert_kind_of(Foo, Psych.safe_load(Psych.dump(Foo.new), [Foo])) end X = Struct.new(:x) @@ -122,27 +101,6 @@ def test_anon_struct end end - def test_deprecated_anon_struct - assert Psych.safe_load(<<-eoyml, [Struct, Symbol]) ---- !ruby/struct - foo: bar - eoyml - - assert_raise(Psych::DisallowedClass) do - Psych.safe_load(<<-eoyml, [Struct]) ---- !ruby/struct - foo: bar - eoyml - end - - assert_raise(Psych::DisallowedClass) do - Psych.safe_load(<<-eoyml, [Symbol]) ---- !ruby/struct - foo: bar - eoyml - end - end - def test_safe_load_default_fallback assert_nil Psych.safe_load("") end @@ -159,8 +117,6 @@ def test_safe_load_raises_on_bad_input def cycle object, permitted_classes: [] Psych.safe_load(Psych.dump(object), permitted_classes: permitted_classes) - # deprecated interface test - Psych.safe_load(Psych.dump(object), permitted_classes) end def assert_safe_cycle object, permitted_classes: []