lib/simple_deploy/cli/outputs.rb in simple_deploy-0.6.4 vs lib/simple_deploy/cli/outputs.rb in simple_deploy-0.6.5
- old
+ new
@@ -1,12 +1,15 @@
require 'trollop'
module SimpleDeploy
module CLI
+
class Outputs
+ include Shared
+
def show
- opts = Trollop::options do
+ @opts = Trollop::options do
version SimpleDeploy::VERSION
banner <<-EOS
Show outputs of a stack.
@@ -18,28 +21,38 @@
opt :log_level, "Log level: debug, info, warn, error", :type => :string,
:default => 'warn'
opt :name, "Stack name to manage", :type => :string
end
- CLI::Shared.valid_options? :provided => opts,
- :required => [:environment, :name]
+ valid_options? :provided => @opts,
+ :required => [:environment, :name]
- config = Config.new.environment opts[:environment]
+ config = Config.new.environment @opts[:environment]
- logger = SimpleDeployLogger.new :log_level => opts[:log_level]
-
- stack = Stack.new :environment => opts[:environment],
- :name => opts[:name],
+ stack = Stack.new :environment => @opts[:environment],
+ :name => @opts[:name],
:config => config,
:logger => logger
- # we need a little whitespace
- puts
+ rescue_stackster_exceptions_and_exit do
+ outputs = stack.outputs
- outputs = stack.outputs
- outputs.each do |hash|
- puts "%s: %s" % [hash['OutputKey'], hash['OutputValue']]
+ logger.info "No outputs." unless outputs.any?
+
+ outputs.each do |hash|
+ puts "%s: %s" % [hash['OutputKey'], hash['OutputValue']]
+ end
end
end
+
+ def logger
+ @logger ||= SimpleDeployLogger.new :log_level => @opts[:log_level]
+ end
+
+ def command_summary
+ 'Show outputs of a stack'
+ end
+
end
+
end
end