diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bundler/yaml_serializer.rb | 4 | ||||
-rw-r--r-- | lib/rubygems/config_file.rb | 14 |
2 files changed, 3 insertions, 15 deletions
diff --git a/lib/bundler/yaml_serializer.rb b/lib/bundler/yaml_serializer.rb index 09e77ab449..23dce9440b 100644 --- a/lib/bundler/yaml_serializer.rb +++ b/lib/bundler/yaml_serializer.rb @@ -50,7 +50,7 @@ module Bundler $ /xo.freeze - def load(str) + def load(str, is_rubygems: false) res = {} stack = [res] last_hash = nil @@ -58,7 +58,7 @@ module Bundler str.split(/\r?\n/).each do |line| if match = HASH_REGEX.match(line) indent, key, quote, val = match.captures - key = convert_to_backward_compatible_key(key) + key = convert_to_backward_compatible_key(key) unless is_rubygems key = key[1..-1].to_sym if key.start_with?(":") depth = indent.scan(/ /).length if quote.empty? && val.empty? diff --git a/lib/rubygems/config_file.rb b/lib/rubygems/config_file.rb index 97c11bd95d..2191a81184 100644 --- a/lib/rubygems/config_file.rb +++ b/lib/rubygems/config_file.rb @@ -351,20 +351,8 @@ if you believe they were disclosed to a third party. return {} unless filename && !filename.empty? && File.exist?(filename) begin - content = Bundler::YAMLSerializer.load(File.read(filename)) + content = Bundler::YAMLSerializer.load(File.read(filename), is_rubygems: true) if content.is_a? Hash - content.transform_keys! do |k| - if k.match?(/__/) - if k.is_a?(Symbol) - k.to_s.gsub(/__/,".").to_sym - else - k.dup.gsub(/__/,".") - end - else - k - end - end - content.transform_values! do |v| if (v.is_a?(Hash) || v.is_a?(String)) && v.empty? nil |