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