class ForemanMaintain::Cli::MainCommand

Public Instance Methods

execute() click to toggle source
# File lib/foreman_maintain/cli.rb, line 33
def execute
  run_scenarios_and_exit(Scenarios::Prep610Upgrade.new)
end
run(*arguments) click to toggle source
Calls superclass method
# File lib/foreman_maintain/cli.rb, line 39
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 57
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 61
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 74
def process_usage_error(error)
  log_exit_code_info(1)
  $stderr.puts error.message
  exit!
end