diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-04-17 16:45:14 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-04-19 06:56:17 +0000 |
commit | 364c2fea345a2b0cc5f1d975e1b55c7f542a7936 (patch) | |
tree | bcdc81ef679fa80e13f73760812d8d11a82b4691 | |
parent | 7e537e96131fd5f244544d3b07a362a2938ad1a2 (diff) | |
download | ruby-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.rb | 15 |
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 |