aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-04-17 16:45:14 +0900
committergit <svn-admin@ruby-lang.org>2023-04-19 06:56:17 +0000
commit364c2fea345a2b0cc5f1d975e1b55c7f542a7936 (patch)
treebcdc81ef679fa80e13f73760812d8d11a82b4691
parent7e537e96131fd5f244544d3b07a362a2938ad1a2 (diff)
downloadruby-364c2fea345a2b0cc5f1d975e1b55c7f542a7936.tar.gz
[rubygems/rubygems] Replaced empty hash to nil value in YAML
https://github.com/rubygems/rubygems/commit/8771fbf53d
-rw-r--r--lib/bundler/yaml_serializer.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/bundler/yaml_serializer.rb b/lib/bundler/yaml_serializer.rb
index eab140d5b5..9e56a944bb 100644
--- a/lib/bundler/yaml_serializer.rb
+++ b/lib/bundler/yaml_serializer.rb
@@ -77,9 +77,24 @@ 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