class Gem::ConfigFile

def to_yaml # :nodoc:

:nodoc:
to_yaml only overwrites things you can't override on the command line.
def to_yaml # :nodoc:
  yaml_hash = {}
  yaml_hash[:backtrace] = @hash.fetch(:backtrace, DEFAULT_BACKTRACE)
  yaml_hash[:bulk_threshold] = @hash.fetch(:bulk_threshold, DEFAULT_BULK_THRESHOLD)
  yaml_hash[:sources] = Gem.sources.to_a
  yaml_hash[:update_sources] = @hash.fetch(:update_sources, DEFAULT_UPDATE_SOURCES)
  yaml_hash[:verbose] = @hash.fetch(:verbose, DEFAULT_VERBOSITY)
  yaml_hash[:concurrent_downloads] =
    @hash.fetch(:concurrent_downloads, DEFAULT_CONCURRENT_DOWNLOADS)
  yaml_hash[:ssl_verify_mode] =
    @hash[:ssl_verify_mode] if @hash.key? :ssl_verify_mode
  yaml_hash[:ssl_ca_cert] =
    @hash[:ssl_ca_cert] if @hash.key? :ssl_ca_cert
  yaml_hash[:ssl_client_cert] =
    @hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
  keys = yaml_hash.keys.map {|key| key.to_s }
  keys << 'debug'
  re = Regexp.union(*keys)
  @hash.each do |key, value|
    key = key.to_s
    next if key =~ re
    yaml_hash[key.to_s] = value
  end
  yaml_hash.to_yaml
end