class Kakine::Config

Constants

OS_PARAMS

Public Class Methods

setup() click to toggle source
# File lib/kakine/config.rb, line 10
def self.setup
  load_config
  load_env
  validate_config
  setup_yao
end

Private Class Methods

load_config() click to toggle source
# File lib/kakine/config.rb, line 19
def self.load_config
  config =
    begin
      YAML.load_file(File.join(Dir.home, '.kakine'))
    rescue Errno::ENOENT
      return
    end

  @@config.merge!(config)
end
load_env() click to toggle source
# File lib/kakine/config.rb, line 30
def self.load_env
  OS_PARAMS.each do |param|
    env = "OS_#{param.upcase}"
    @@config[param] = ENV[env] if ENV[env]
  end
end
setup_yao() click to toggle source
# File lib/kakine/config.rb, line 45
def self.setup_yao
  Yao.configure do
    auth_url             @@config['auth_url']
    tenant_name          Kakine::Option.tenant_name
    username             @@config['username']
    password             @@config['password']
    client_cert          @@config['client_cert']
    client_key           @@config['client_key']
    region_name          @@config['region_name']
    identity_api_version @@config['identity_api_version']
    user_domain_name     @@config['user_domain_name']
    project_domain_name  @@config['project_domain_name']
  end
end
validate_config() click to toggle source
# File lib/kakine/config.rb, line 37
def self.validate_config
  OS_PARAMS.each do |param|
    unless @@config[param]
      raise "Configuration '#{param}' is missing. Check your ~/.kakine or export OS_#{param.upcase}."
    end
  end
end