class Percheron::Commands::Abstract

Public Class Methods

default_parameters!() click to toggle source
# File lib/percheron/commands/abstract.rb, line 13
def self.default_parameters!
  parameter('STACK_NAME', 'stack name', required: true)
  parameter('UNIT_NAMES', 'unit names', default: [], required: false) do |names|
    names.split(/,/)
  end
end

Public Instance Methods

config() click to toggle source
# File lib/percheron/commands/abstract.rb, line 45
def config
  @config ||= begin
    Percheron::Config.load!(config_file).tap do |c|
      Percheron::Connection.load!(c)
    end
  end
end
execute() click to toggle source
# File lib/percheron/commands/abstract.rb, line 29
def execute
  stack.valid?
rescue Errno::ENOENT, Errors::ConfigFileInvalid, Errors::StackInvalid => e
  signal_usage_error(e.message)
  exit(1)
rescue => e
  puts "%s\n\n%s\n\n" % [ e.inspect, e.backtrace.join("\n") ]
  signal_usage_error(e.message)
  exit(1)
end
runit() { || ... } click to toggle source
# File lib/percheron/commands/abstract.rb, line 20
def runit
  yield
rescue Docker::Error::UnexpectedResponseError => e
  $logger.error('')
  $logger.error('An exception occurred :(')
  $logger.error('')
  $logger.error(e.inspect)
end
stack() click to toggle source
# File lib/percheron/commands/abstract.rb, line 40
def stack
  return NullStack.new if stack_name.nil?
  Percheron::Stack.new(config, stack_name)
end