Class: Gem::ConfigFile

Inherits:
Object
  • Object
show all
Defined in:
lib/keycutter/configuration.rb

Instance Method Summary collapse

Instance Method Details

#api_keysObject



4
5
6
# File 'lib/keycutter/configuration.rb', line 4

def api_keys
  @api_keys || load_api_keys
end

#api_keys=(keys) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/keycutter/configuration.rb', line 8

def api_keys=(keys)
  keys.merge!(:rubygems_api_key => @rubygems_api_key) if defined? @rubygems_api_key

  dirname = File.dirname(credentials_path)
  Dir.mkdir(dirname) unless File.exists?(dirname)

  require 'yaml'

  File.open(credentials_path, 'w', 0600) do |f|
    f.write keys.to_yaml
  end

  @api_keys = keys
end

#load_api_keysObject



23
24
25
26
27
28
29
30
# File 'lib/keycutter/configuration.rb', line 23

def load_api_keys
  @api_keys = File.exists?(credentials_path) ? load_file(credentials_path) : {}
  if @api_keys.key?(:rubygems_api_key)
    @rubygems_api_key = @api_keys.delete(:rubygems_api_key)
    @api_keys[:rubygems] = @rubygems_api_key unless @api_keys.key?(:rubygems)
  end
  @api_keys
end