Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
Gem::ConfigFile.deep_transform_config_keys!
deep_transform_config_keys!(config)
lib/rubygems/config_file.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/rubygems/config_file.rb, line 775
def self.deep_transform_config_keys!(config)
config.transform_keys! do |k|
if k.match?(/\A:(.*)\z/)
k[1..-1].to_sym
elsif k.include?("__") || k.end_with?("/")
if k.is_a?(Symbol)
k.to_s.gsub(/__/,".").delete_suffix("/").to_sym
else
k.dup.gsub(/__/,".").delete_suffix("/")
end
else
k
end
end
config.transform_values! do |v|
if v.is_a?(String)
if v.match?(/\A:(.*)\z/)
v[1..-1].to_sym
elsif v.match?(/\A[+-]?\d+\z/)
v.to_i
elsif v.match?(/\A(?:true|false)\z/)
v == "true"
elsif v.empty?
nil
else
v
end
elsif v.respond_to?(:empty?) && v.empty?
nil
elsif v.is_a?(Hash)
deep_transform_config_keys!(v)
else
v
end
end
config
end
No documentation available
See also
.credential_store_account
.dump_with_rubygems_yaml
.load_with_rubygems_config_hash
also in
4.0 · 3.4