class QingCloud::SDK::Config

Attributes

connection[RW]

Public Class Methods

init(access_key_id, secret_access_key) click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 29
def self.init(access_key_id, secret_access_key)
  initial_config = {
    qy_access_key_id:     access_key_id,
    qy_secret_access_key: secret_access_key,
  }
  Config.new(initial_config)
end
new(initial_config = {}) click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 37
def initialize(initial_config = {})
  self.connection = Net::HTTP::Persistent.new
  load_default_config
  update initial_config
end

Public Instance Methods

install_default_user_config() click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 63
def install_default_user_config
  Logger.warn "Installing default config file to #{Contract::USER_CONFIG_FILEPATH}"
  FileUtils.mkdir_p Contract::USER_SUPPORT_DIRECTORY
  FileUtils.copy Contract::DEFAULT_CONFIG_FILEPATH, Contract::USER_CONFIG_FILEPATH
end
load_config_from_file(path) click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 58
def load_config_from_file(path)
  path = path.sub '~', Dir.home if path.start_with? '~/'
  update YAML.load_file File.absolute_path path
end
load_default_config() click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 49
def load_default_config
  load_config_from_file Contract::DEFAULT_CONFIG_FILEPATH
end
load_user_config() click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 53
def load_user_config
  install_default_user_config unless File.exist? Contract::USER_CONFIG_FILEPATH
  load_config_from_file Contract::USER_CONFIG_FILEPATH
end
update(another_config = {}) click to toggle source
# File lib/qingcloud/sdk/general/config.rb, line 43
def update(another_config = {})
  deep_merge! another_config.deep_symbolize_keys!
  Logger.set_level self[:log_level]
  self
end