summaryrefslogtreecommitdiff
path: root/lib/rubygems/config_file.rb
diff options
context:
space:
mode:
authorDmitriy Ivliev <[email protected]>2024-07-10 17:09:50 +0300
committergit <[email protected]>2024-07-11 02:27:46 +0000
commit6dc0086d2046506d838b9de41cb12a4aadec58d1 ()
tree58d8f02c3d226e14214d24c4fb1ff82b547664bd /lib/rubygems/config_file.rb
parentbc1b4235fb0b859122ae15b865bf1a15e7d2050f (diff)
[rubygems/rubygems] fix s3 source configuration issue
https://.com/rubygems/rubygems/commit/356726bd1a
-rw-r--r--lib/rubygems/config_file.rb21
1 files changed, 13 insertions, 8 deletions
@@ -522,12 +522,12 @@ if you believe they were disclosed to a third party.
# Return the configuration information for +key+.
def [](key)
- @hash[key.to_s]
end
# Set configuration option +key+ to +value+.
def []=(key, value)
- @hash[key.to_s] = value
end
def ==(other) # :nodoc:
@@ -555,8 +555,13 @@ if you believe they were disclosed to a third party.
require_relative "yaml_serializer"
content = Gem::YAMLSerializer.load(yaml)
- content.transform_keys! do |k|
if k.match?(/\A:(.*)\Z/)
k[1..-1].to_sym
elsif k.include?("__") || k.match?(%r{/\Z})
@@ -570,7 +575,7 @@ if you believe they were disclosed to a third party.
end
end
- content.transform_values! do |v|
if v.is_a?(String)
if v.match?(/\A:(.*)\Z/)
v[1..-1].to_sym
@@ -583,18 +588,18 @@ if you believe they were disclosed to a third party.
else
v
end
- elsif v.is_a?(Hash) && v.empty?
nil
else
v
end
end
- content
end
- private
-
def set_config_file_name(args)
@config_file_name = ENV["GEMRC"]
need_config_file_name = false