ruby-changes:52978
From: hsbt <ko1@a...>
Date: Sat, 20 Oct 2018 11:51:13 +0900 (JST)
Subject: [ruby-changes:52978] hsbt:r65192 (trunk): Support keyword arguments with Pysch.safe_load provided by after Psych 3.1.0.pre1.
hsbt 2018-10-20 11:51:09 +0900 (Sat, 20 Oct 2018) New Revision: 65192 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65192 Log: Support keyword arguments with Pysch.safe_load provided by after Psych 3.1.0.pre1. Modified files: trunk/lib/rubygems/safe_yaml.rb Index: lib/rubygems/safe_yaml.rb =================================================================== --- lib/rubygems/safe_yaml.rb (revision 65191) +++ lib/rubygems/safe_yaml.rb (revision 65192) @@ -28,11 +28,19 @@ module Gem https://github.com/ruby/ruby/blob/trunk/lib/rubygems/safe_yaml.rb#L28 if ::YAML.respond_to? :safe_load def self.safe_load input - ::YAML.safe_load(input, WHITELISTED_CLASSES, WHITELISTED_SYMBOLS, true) + if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0.pre1') + ::YAML.safe_load(input, whitelist_classes: WHITELISTED_CLASSES, whitelist_symbols: WHITELISTED_SYMBOLS, aliases: true) + else + ::YAML.safe_load(input, WHITELISTED_CLASSES, WHITELISTED_SYMBOLS, true) + end end def self.load input - ::YAML.safe_load(input, [::Symbol]) + if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0.pre1') + ::YAML.safe_load(input, whitelist_classes: [::Symbol]) + else + ::YAML.safe_load(input, [::Symbol]) + end end else unless Gem::Deprecate.skip -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/