class Honeybadger::CLI::Exec

def run

def run
  result = exec_cmd
  return if result.success
  executable = args.first.to_s[/\S+/]
  payload = {
    api_key: config.get(:api_key),
    notifier: NOTIFIER,
    error: {
      class: 'honeybdager exec error',
      message: result.msg
    },
    request: {
      component: executable,
      context: {
        command: args.join(' '),
        code: result.code,
        pid: result.pid,
        pwd: Dir.pwd,
        path: ENV['PATH']
      }
    },
    server: {
      project_root: Dir.pwd,
      environment_name: config.get(:env),
      time: Time.now,
      stats: Util::Stats.all
    }
  }
  begin
    response = config.backend.notify(:notices, payload)
  rescue
    say(result.msg)
    raise
  end
  if !response.success?
    say(result.msg)
    say(error_message(response), :red)
    exit(1)
  end
  unless quiet?
    say(result.msg)
    say("\nSuccessfully notified Honeybadger")
  end
  exit(0)
end