class Gem::ConfigFile

def set_api_key(host, api_key)

def set_api_key(host, api_key)
  check_credentials_permissions
  config = load_file(credentials_path).merge(host => api_key)
  dirname = File.dirname credentials_path
  Dir.mkdir(dirname) unless File.exist? dirname
  Gem.load_yaml
  permissions = 0600 & (~File.umask)
  File.open(credentials_path, 'w', permissions) do |f|
    f.write config.to_yaml
  end
  load_api_keys # reload
end