module StackMaster::Command
Public Class Methods
included(base)
click to toggle source
# File lib/stack_master/command.rb, line 3 def self.included(base) base.extend ClassMethods base.prepend Perform end
new(config, stack_definition = nil, options = Commander::Command::Options.new)
click to toggle source
# File lib/stack_master/command.rb, line 30 def initialize(config, stack_definition = nil, options = Commander::Command::Options.new) @config = config @stack_definition = stack_definition @options = options end
Public Instance Methods
success?()
click to toggle source
# File lib/stack_master/command.rb, line 36 def success? @failed != true end
Private Instance Methods
backtrace(error)
click to toggle source
# File lib/stack_master/command.rb, line 53 def backtrace(error) if error.respond_to?(:full_message) error.full_message else # full_message was introduced in Ruby 2.5 # remove this conditional when StackMaster no longer supports Ruby 2.4 error.backtrace.join("\n") end end
error_message(e)
click to toggle source
# File lib/stack_master/command.rb, line 42 def error_message(e) msg = "#{e.class} #{e.message}" msg << "\n Caused by: #{e.cause.class} #{e.cause.message}" if e.cause if options.trace msg << "\n#{backtrace(e)}" else msg << "\n Use --trace to view backtrace" end msg end
failed(message = nil)
click to toggle source
# File lib/stack_master/command.rb, line 63 def failed(message = nil) StackMaster.stderr.puts(message) if message @failed = true end
failed!(message = nil)
click to toggle source
# File lib/stack_master/command.rb, line 68 def failed!(message = nil) failed(message) halt! end
halt!(message = nil)
click to toggle source
# File lib/stack_master/command.rb, line 73 def halt!(message = nil) StackMaster.stdout.puts(message) if message throw :halt end
options()
click to toggle source
# File lib/stack_master/command.rb, line 78 def options @options ||= Commander::Command::Options.new end