Class: Engineyard::Local::Command::Status

Inherits:
Base show all
Defined in:
lib/engineyard-local/command/status.rb

Instance Attribute Summary

Attributes inherited from Base

#env, #options

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods inherited from Vagrant::Command::Base

#cookbook_status, #initialize

Methods included from Helpers

#insert_linebreaks, #merge_run_options, #run

Constructor Details

This class inherits a constructor from Engineyard::Local::Command::Base

Instance Method Details

#exec(*args) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/engineyard-local/command/status.rb', line 9

def exec(*args)
  state = nil
  results = []

  cb_status = nil

  with_target_vms do |vm|
    cb_status = cookbook_status(:full) if vm.state == :running

    state = vm.state.to_s if !state
    results << "#{vm.name.to_s.ljust(25)}#{vm.state.to_s.gsub("_", " ")}"
  end

  state = results.length == 1 ? state : "listing"

  @env.ui.info(I18n.t("vagrant.commands.status.output",
                      :states => results.join("\n"),
                      :message => I18n.t("vagrant.commands.status.#{state}"),
                      :alerts => insert_linebreaks( cb_status ).join ),
               :prefix => false)
end