module Honeybadger

def ignored_exception?(exception)

Other tags:
    Api: - private
def ignored_exception?(exception)
  exception.is_a?(SystemExit) ||
    ( exception.is_a?(SignalException) &&
       ( (exception.respond_to?(:signm) && exception.signm == "SIGTERM") ||
        # jruby has a missing #signm implementation
        ["TERM", "SIGTERM"].include?(exception.to_s) )
  )
end

def install_at_exit_callback

Other tags:
    Api: - private
def install_at_exit_callback
  at_exit do
    if $! && !ignored_exception?($!) && Honeybadger.config[:'exceptions.notify_at_exit']
      Honeybadger.notify($!, component: 'at_exit', sync: true)
    end
    Honeybadger.stop if Honeybadger.config[:'send_data_at_exit']
  end
end

def load_plugins!

Other tags:
    Api: - private
def load_plugins!
  Dir[File.expand_path('../plugins/*.rb', __FILE__)].each do |plugin|
    require plugin
  end
  Plugin.load!(self.config)
end

def notify(exception_or_opts, opts = {})

Other tags:
    See: Agent#notify -
def notify(exception_or_opts, opts = {})
  # Note this is defined directly (instead of via forwardable) so that
  # generated stack traces work as expected.
  Agent.instance.notify(exception_or_opts, opts)
end

def start(config = {})

Deprecated:
def start(config = {})
  raise NoMethodError, <<-WARNING
oneybadger.start` is no longer necessary and has been removed.
Use `Honeybadger.configure` to explicitly configure the agent from Ruby moving forward:
Honeybadger.configure do |config|
  config.api_key = 'project api key'
  config.exceptions.ignore += [CustomError]
end
RNING
end