Class: CfDeployer::Application
- Inherits:
-
Object
- Object
- CfDeployer::Application
- Defined in:
- lib/cf_deployer/application.rb
Instance Attribute Summary collapse
-
#components ⇒ Object
readonly
Returns the value of attribute components.
Instance Method Summary collapse
- #add_component_dependencies ⇒ Object
- #deploy ⇒ Object
- #destroy ⇒ Object
- #diff ⇒ Object
- #get_components ⇒ Object
-
#initialize(context = {}) ⇒ Application
constructor
A new instance of Application.
- #json ⇒ Object
- #kill_inactive ⇒ Object
- #run_hook(component_name, hook_name) ⇒ Object
- #status(component_name, verbosity) ⇒ Object
- #switch ⇒ Object
Constructor Details
#initialize(context = {}) ⇒ Application
Returns a new instance of Application.
5 6 7 8 9 10 |
# File 'lib/cf_deployer/application.rb', line 5 def initialize(context = {}) @context = context get_components add_component_dependencies @components.sort! end |
Instance Attribute Details
#components ⇒ Object (readonly)
Returns the value of attribute components.
3 4 5 |
# File 'lib/cf_deployer/application.rb', line 3 def components @components end |
Instance Method Details
#add_component_dependencies ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/cf_deployer/application.rb', line 20 def add_component_dependencies @context[:components].keys.each do | key | component = @components.find { |c| c.name == key.to_s } dependencies = @context[:components][key][:'depends-on'] || [] dependencies.each do | parent_name | parent = @components.find { |c| c.name == parent_name } if parent parent.children << component component.dependencies << parent end end end end |
#deploy ⇒ Object
34 35 36 37 38 |
# File 'lib/cf_deployer/application.rb', line 34 def deploy Log.debug @context components = get_targets().sort components.each &:deploy end |
#destroy ⇒ Object
62 63 64 65 |
# File 'lib/cf_deployer/application.rb', line 62 def destroy components = get_targets.sort { |a, b| b <=> a } components.each &:destroy end |
#diff ⇒ Object
45 46 47 48 |
# File 'lib/cf_deployer/application.rb', line 45 def diff components = get_targets().sort components.each &:diff end |
#get_components ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/cf_deployer/application.rb', line 12 def get_components @components = [] @context[:components].keys.each do | key | component = Component.new(@context[:application], @context[:environment], key.to_s, @context[:components][key]) @components << component end end |
#json ⇒ Object
40 41 42 43 |
# File 'lib/cf_deployer/application.rb', line 40 def json components = get_targets().sort components.each &:json end |
#kill_inactive ⇒ Object
67 68 69 70 |
# File 'lib/cf_deployer/application.rb', line 67 def kill_inactive component = get_targets.first component.kill_inactive end |
#run_hook(component_name, hook_name) ⇒ Object
58 59 60 |
# File 'lib/cf_deployer/application.rb', line 58 def run_hook component_name, hook_name @components.detect{ |component| component_name == component.name }.run_hook hook_name end |
#status(component_name, verbosity) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/cf_deployer/application.rb', line 50 def status component_name, verbosity statuses = {} @components.select { |component| component_name.nil? || component_name == component.name }.each do |component| statuses[component.name] = component.status(verbosity != 'stacks') end statuses end |
#switch ⇒ Object
72 73 74 75 76 |
# File 'lib/cf_deployer/application.rb', line 72 def switch @context[:targets].each do | component_name | @components.find { |c| c.name == component_name }.switch end end |