summaryrefslogtreecommitdiff
path: root/lib/bundler/yaml_serializer.rb
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-04-17 18:54:29 +0900
committergit <svn-admin@ruby-lang.org>2023-04-19 06:56:18 +0000
commitbf8d8ce1ee196a508c934f6664af949ca98548e5 (patch)
treeba7d9ab8027bbc58f5c93ae7d4e067af954fa690 /lib/bundler/yaml_serializer.rb
parent364c2fea345a2b0cc5f1d975e1b55c7f542a7936 (diff)
[rubygems/rubygems] Keep compatiblity of Bundler specs
https://github.com/rubygems/rubygems/commit/b211eeacba
Diffstat (limited to 'lib/bundler/yaml_serializer.rb')
-rw-r--r--lib/bundler/yaml_serializer.rb19
1 files changed, 1 insertions, 18 deletions
diff --git a/lib/bundler/yaml_serializer.rb b/lib/bundler/yaml_serializer.rb
index 9e56a944bb..09e77ab449 100644
--- a/lib/bundler/yaml_serializer.rb
+++ b/lib/bundler/yaml_serializer.rb
@@ -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) if key.match?(/__/)
+ key = convert_to_backward_compatible_key(key)
key = key[1..-1].to_sym if key.start_with?(":")
depth = indent.scan(/ /).length
if quote.empty? && val.empty?
@@ -77,24 +77,9 @@ module Bundler
last_hash[last_empty_key].push(convert_to_ruby_value(val))
end
end
- deep_transform_values_with_empty_hash!(res)
res
end
- def deep_transform_values_with_empty_hash!(hash)
- hash.transform_values! do |v|
- if v.is_a?(Hash)
- if v.empty?
- nil
- else
- deep_transform_values_with_empty_hash!(v)
- end
- else
- v
- end
- end
- end
-
def convert_to_ruby_value(val)
if val.match?(/\A:(.*)\Z/)
val[1..-1].to_sym
@@ -102,8 +87,6 @@ module Bundler
val.to_i
elsif val.match?(/\Atrue|false\Z/)
val == "true"
- elsif val.empty?
- nil
else
val
end