class Faultline::Notifier

Constants

LOG_LABEL

Public Class Methods

new(user_config) click to toggle source
# File lib/faultline/notifier.rb, line 5
def initialize(user_config)
  @config = (user_config.is_a?(Config) ? user_config : Config.new(user_config))

  unless @config.valid?
    raise Airbrake::Error, @config.validation_error_message
  end

  @filter_chain = Airbrake::FilterChain.new
  add_default_filters

  @async_sender = AsyncSender.new(@config)
  @sync_sender = SyncSender.new(@config)
end

Public Instance Methods

build_notice(exception, params = {}) click to toggle source
# File lib/faultline/notifier.rb, line 19
def build_notice(exception, params = {})
  if @async_sender.closed?
    raise Airbrake::Error,
          "attempted to build #{exception} with closed Airbrake instance"
  end

  if exception.is_a?(Faultline::Notice)
    exception[:params].merge!(params)
    exception
  else
    Faultline::Notice.new(@config, convert_to_exception(exception), params)
  end
end