From 364c2fea345a2b0cc5f1d975e1b55c7f542a7936 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 17 Apr 2023 16:45:14 +0900 Subject: [PATCH] [rubygems/rubygems] Replaced empty hash to nil value in YAML https://github.com/rubygems/rubygems/commit/8771fbf53d --- lib/bundler/yaml_serializer.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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