class ScoutApm::ErrorService::Notifier

Attributes

context[R]
reporter[R]

Public Class Methods

new(context) click to toggle source
# File lib/scout_apm/error_service/notifier.rb, line 7
def initialize(context)
  @context = context
  @reporter = ScoutApm::Reporter.new(context, :errors)
end

Public Instance Methods

ship() click to toggle source
# File lib/scout_apm/error_service/notifier.rb, line 12
def ship
  error_records = context.error_buffer.get_and_reset_error_records
  if error_records.any?
    payload = ScoutApm::ErrorService::Payload.new(context, error_records)
    reporter.report(
      payload.serialize,
      default_headers.merge("X-Error-Count" => error_records.length.to_s)
    )
  end
end

Private Instance Methods

default_headers() click to toggle source
# File lib/scout_apm/error_service/notifier.rb, line 25
def default_headers
  {
    "Content-Type" => "application/json",
    "Accept" => "application/json"
  }
end