class Honeybadger::CLI::Notify

def run

def run
  payload = {
    api_key: config.get(:api_key),
    notifier: NOTIFIER,
    error: {
      class: options['class'],
      message: options['message']
    },
    request: {},
    server: {
      project_root: Dir.pwd,
      environment_name: config.get(:env),
      time: Time.now,
      stats: Util::Stats.all
    }
  }
  payload[:error][:fingerprint] = Digest::SHA1.hexdigest(options['fingerprint']) if option?('fingerprint')
  payload[:error][:tags] = options['tags'].to_s.strip.split(',').map(&:strip) if option?('tags')
  payload[:request][:component] = options['component'] if option?('component')
  payload[:request][:action] = options['action'] if option?('action')
  payload[:request][:url] = options['url'] if option?('url')
  payload.delete(:request) if payload[:request].empty?
  response = config.backend.notify(:notices, payload)
  if response.success?
    say("Error notification complete.", :green)
  else
    say(error_message(response), :red)
    exit(1)
  end
end