class ForemanMaintain::Cli::MainCommand

Public Instance Methods

run(*arguments) click to toggle source
Calls superclass method
# File lib/foreman_maintain/cli.rb, line 33
def run(*arguments)
  logger.info("Running foreman-maintain command with arguments #{arguments.inspect}")
  begin
    super
    @exit_code = 0
  rescue Error::UsageError => e
    process_usage_error(e)
  rescue StandardError => e
    process_standard_error(e)
  end

  return @exit_code
ensure
  log_exit_code_info(@exit_code)
end

Private Instance Methods

log_exit_code_info(exit_code) click to toggle source
# File lib/foreman_maintain/cli.rb, line 51
def log_exit_code_info(exit_code)
  logger.info("foreman-maintain command finished with #{exit_code}")
end
process_standard_error(error) click to toggle source
# File lib/foreman_maintain/cli.rb, line 55
def process_standard_error(error)
  if error.is_a?(Clamp::HelpWanted) ||
     error.is_a?(ArgumentError) ||
     error.is_a?(Clamp::UsageError)
    raise error
  end

  $stderr.puts error.message
  logger.error(error)

  @exit_code = 1
end
process_usage_error(error) click to toggle source
# File lib/foreman_maintain/cli.rb, line 68
def process_usage_error(error)
  log_exit_code_info(1)
  $stderr.puts error.message
  exit!
end