lib/rorvswild/plugin/rails_error.rb



# frozen_string_literal: true

module RorVsWild
  module Plugin
    class RailsError
      @installed = false

      def self.setup(agent)
        return if @installed
        return if !defined?(Rails.error)
        return if !defined?(ActiveSupport::ErrorReporter)
        Rails.error.subscribe(new)
        @installed = true
      end

      def report(error, handled: nil, severity: nil, context: nil, source: nil)
        RorVsWild.record_error(error, context)
      end
    end
  end
end