class Swa::CLI::BaseCommand

Public Instance Methods

run(arguments) click to toggle source
Calls superclass method
# File lib/swa/cli/base_command.rb, line 26
def run(arguments)
  super(arguments)
rescue Aws::Errors::MissingCredentialsError
  signal_error "no credentials provided"
rescue Aws::Errors::ServiceError => e
  signal_error e.message
end

Protected Instance Methods

aws_config() click to toggle source
# File lib/swa/cli/base_command.rb, line 46
def aws_config
  {
    :access_key_id => access_key_id,
    :secret_access_key => secret_access_key,
    :session_token => session_token,
    :region => region,
    :logger => logger, :log_level => :debug
  }.reject { |_k, v| v.nil? }
end
logger() click to toggle source
# File lib/swa/cli/base_command.rb, line 42
def logger
  @logger ||= ConsoleLogger.new($stderr, debug?)
end
parse(arguments) click to toggle source
Calls superclass method
# File lib/swa/cli/base_command.rb, line 56
def parse(arguments)
  if arguments.first =~ /^(\w+)-[0-9a-f]+$/
    arguments = [$1] + arguments if self.class.find_subcommand($1)
  end
  super(arguments)
end
parse_datetime(datetime_string) click to toggle source
# File lib/swa/cli/base_command.rb, line 63
def parse_datetime(datetime_string)
  result = Chronic.parse(datetime_string, :guess => false, :endian_precedence => :little)
  raise ArgumentError, "unrecognised date/time #{datetime_string.inspect}" unless result
  result
end
parse_subcommand() click to toggle source
Calls superclass method
# File lib/swa/cli/base_command.rb, line 36
def parse_subcommand
  return false unless self.class.has_subcommands?
  request_help if subcommand_name == "?"
  super
end