From d1c42da7a1212fe04dc86ed7a7439dd69380f08a Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Tue, 18 Apr 2023 19:37:47 +0900 Subject: [rubygems/rubygems] To use Gem::YAMLSerializer in Bundler https://github.com/rubygems/rubygems/commit/5351e01b32 --- lib/bundler/settings.rb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb index 1139eab503..88dd829d66 100644 --- a/lib/bundler/settings.rb +++ b/lib/bundler/settings.rb @@ -386,8 +386,7 @@ module Bundler return unless file SharedHelpers.filesystem_access(file) do |p| FileUtils.mkdir_p(p.dirname) - require_relative "yaml_serializer" - p.open("w") {|f| f.write(YAMLSerializer.dump(hash)) } + p.open("w") {|f| f.write(serializer_class.dump(hash)) } end end @@ -449,8 +448,7 @@ module Bundler SharedHelpers.filesystem_access(config_file, :read) do |file| valid_file = file.exist? && !file.size.zero? return {} unless valid_file - require_relative "yaml_serializer" - YAMLSerializer.load(file.read).inject({}) do |config, (k, v)| + serializer_class.load(file.read).inject({}) do |config, (k, v)| new_k = k if k.include?("-") @@ -467,6 +465,15 @@ module Bundler end end + def serializer_class + require "rubygems/yaml_serializer" + Gem::YAMLSerializer + rescue LoadError + # TODO: Remove this when RubyGems 3.4 is EOL + require_relative "yaml_serializer" + YAMLSerializer + end + PER_URI_OPTIONS = %w[ fallback_timeout ].freeze -- cgit v1.2.1