class ConfigKit::Manager

Public Class Methods

bootstrap(app, from, uri_kls, version, opts={}) click to toggle source
# File lib/config_kit/manager.rb, line 6
def self.bootstrap(app, from, uri_kls, version, opts={})
  opts['uri_kls'] = uri_kls
  opts['version'] = version
  opts['from'] = from
  new(app, opts).bootstrap
end
deploy(app, version, opts={}) click to toggle source
# File lib/config_kit/manager.rb, line 23
def self.deploy(app, version, opts={})
  opts['version'] = version
  new(app, opts).deploy
end
describe(app, version, opts={}) click to toggle source
# File lib/config_kit/manager.rb, line 13
def self.describe(app, version, opts={})
  opts['version'] = version
  new(app, opts).describe
end
get(app,opts={}) click to toggle source
# File lib/config_kit/manager.rb, line 36
def self.get(app,opts={})
  new(app, opts).get
end
init(name, env='int0', opts={}) click to toggle source
# File lib/config_kit/manager.rb, line 28
def self.init(name, env='int0', opts={})
  app = 'idc'
  opts['name'] = name
  opts['env'] = env
  opts['skip_env_check'] = true
  new(app,opts).init
end
new(app, opts) click to toggle source
# File lib/config_kit/manager.rb, line 40
def initialize(app, opts)
  @app = app
  @opts = opts
  @tool = ConfigKit::Tool.new
  unless opts['skip_env_check'] == true
    env = @tool.get_idc_env 
    raise ConfigKit::Manager::IDCEnvMissing.new 'IDC environment missing, pls init it first!' if env.nil?
    @opts['env'] = env
  end
  
end
rollback(app, version, opts={}) click to toggle source
# File lib/config_kit/manager.rb, line 18
def self.rollback(app, version, opts={})
  opts['version'] = version
  new(app, opts).rollback
end

Public Instance Methods

bootstrap() click to toggle source
# File lib/config_kit/manager.rb, line 65
def bootstrap
  create
  {app: @app, version: @opts['version']}
end
change_default() click to toggle source
# File lib/config_kit/manager.rb, line 100
def change_default
  @tool.deploy_txn(@app, @opts['version'], :default_only)
end
create(extra=:no_default) click to toggle source
# File lib/config_kit/manager.rb, line 70
def create(extra=:no_default)
  ConfigKit::Data::Loader.load(@app, @opts['from'], @opts['uri_kls'], @opts['env'], @opts['version']) do |data|
    @tool.init_txn
    data.each_pair do |k,v|
      @tool.bootstrap_txn(v, k)
      version, cs = get_deploy_info(@tool.config_data)
      @tool.deploy_txn(k, version, extra,cs)
    end
    @tool.perform_txn
  end
end
deploy() click to toggle source
# File lib/config_kit/manager.rb, line 92
def deploy
  change_default
end
describe() click to toggle source
# File lib/config_kit/manager.rb, line 60
def describe
  version = @opts['version']
  @tool.describe(@app, version)
end
get() click to toggle source
# File lib/config_kit/manager.rb, line 87
def get
  data = @tool.get(@app)[@app]
  data || {}
end
get_deploy_info(config_data) click to toggle source
# File lib/config_kit/manager.rb, line 82
def get_deploy_info(config_data)
  return [] unless config_data.kind_of?(ConfigKit::ConfigData)
  [config_data.data_version, config_data.data_cs]
end
init() click to toggle source
# File lib/config_kit/manager.rb, line 52
def init
  name = @opts.delete('name')
  env = @opts.delete('env')
  @tool.init_txn
  @tool.idc_init_txn(name, env, @opts)
  @tool.perform_txn
end
rollback() click to toggle source
# File lib/config_kit/manager.rb, line 96
def rollback
  change_default
end