Class: ConfigKit::Manager
- Inherits:
-
Object
- Object
- ConfigKit::Manager
- Defined in:
- lib/config_kit/manager.rb
Defined Under Namespace
Classes: IDCEnvMissing
Class Method Summary collapse
- .bootstrap(app, from, uri_kls, version, opts = {}) ⇒ Object
- .deploy(app, version, opts = {}) ⇒ Object
- .describe(app, version, opts = {}) ⇒ Object
- .get(app, opts = {}) ⇒ Object
- .init(name, env = 'int0', opts = {}) ⇒ Object
- .rollback(app, version, opts = {}) ⇒ Object
Instance Method Summary collapse
- #bootstrap ⇒ Object
- #change_default ⇒ Object
- #create(extra = :no_default) ⇒ Object
- #deploy ⇒ Object
- #describe ⇒ Object
- #get ⇒ Object
- #get_deploy_info(config_data) ⇒ Object
- #init ⇒ Object
-
#initialize(app, opts) ⇒ Manager
constructor
A new instance of Manager.
- #rollback ⇒ Object
Constructor Details
#initialize(app, opts) ⇒ Manager
Returns a new instance of Manager.
40 41 42 43 44 45 46 47 48 49 50 |
# 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 |
Class Method Details
.bootstrap(app, from, uri_kls, version, opts = {}) ⇒ Object
6 7 8 9 10 11 |
# 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 = {}) ⇒ Object
23 24 25 26 |
# 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 = {}) ⇒ Object
13 14 15 16 |
# 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 = {}) ⇒ Object
36 37 38 |
# File 'lib/config_kit/manager.rb', line 36 def self.get(app,opts={}) new(app, opts).get end |
.init(name, env = 'int0', opts = {}) ⇒ Object
28 29 30 31 32 33 34 |
# 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 |
.rollback(app, version, opts = {}) ⇒ Object
18 19 20 21 |
# File 'lib/config_kit/manager.rb', line 18 def self.rollback(app, version, opts={}) opts['version'] = version new(app, opts).rollback end |
Instance Method Details
#bootstrap ⇒ Object
65 66 67 68 |
# File 'lib/config_kit/manager.rb', line 65 def bootstrap create {app: @app, version: @opts['version']} end |
#change_default ⇒ Object
100 101 102 |
# File 'lib/config_kit/manager.rb', line 100 def change_default @tool.deploy_txn(@app, @opts['version'], :default_only) end |
#create(extra = :no_default) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 |
# 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 ⇒ Object
92 93 94 |
# File 'lib/config_kit/manager.rb', line 92 def deploy change_default end |
#describe ⇒ Object
60 61 62 63 |
# File 'lib/config_kit/manager.rb', line 60 def describe version = @opts['version'] @tool.describe(@app, version) end |
#get ⇒ Object
87 88 89 90 |
# File 'lib/config_kit/manager.rb', line 87 def get data = @tool.get(@app)[@app] data || {} end |
#get_deploy_info(config_data) ⇒ Object
82 83 84 85 |
# 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 ⇒ Object
52 53 54 55 56 57 58 |
# 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 ⇒ Object
96 97 98 |
# File 'lib/config_kit/manager.rb', line 96 def rollback change_default end |