Sha256: f5c8f411227c3f652157619b6b986cb50129a1a50a38801552e4f7bc1b09348d

Contents?: true

Size: 1.53 KB

Versions: 3

Compression:

Stored size: 1.53 KB

Contents

require "raygun/middleware/rails_insert_affected_user"

class Raygun::Railtie < Rails::Railtie
  initializer "raygun.configure_rails_initialization" do |app|

    # Thanks Airbrake: See https://github.com/rails/rails/pull/8624
    middleware = if defined?(ActionDispatch::DebugExceptions)
                   if Rails::VERSION::STRING >= "5"
                     ActionDispatch::DebugExceptions
                   else
                     # Rails >= 3.2.0
                     "ActionDispatch::DebugExceptions"
                   end
                 else
                   # Rails < 3.2.0
                   "ActionDispatch::ShowExceptions"
                 end

    raygun_middleware = [
      Raygun::Middleware::RailsInsertAffectedUser,
      Raygun::Middleware::RackExceptionInterceptor,
      Raygun::Middleware::BreadcrumbsStoreInitializer,
      Raygun::Middleware::JavascriptExceptionTracking
    ]
    raygun_middleware = raygun_middleware.map(&:to_s) unless Rails::VERSION::STRING >= "5"
    raygun_middleware.each do |m|
      app.config.middleware.insert_after(middleware, m)
    end
  end

  config.to_prepare do
    Raygun.default_configuration.logger           = Rails.logger
    Raygun.default_configuration.enable_reporting = Rails.env.production?

    Raygun::Railtie.setup_error_subscriber
  end

  rake_tasks do
    load "tasks/raygun.tasks"
  end

  def self.setup_error_subscriber
    if ::Rails.version.to_f >= 7.0 && Raygun.configuration.register_rails_error_handler
      Rails.error.subscribe(Raygun::ErrorSubscriber.new)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
raygun4ruby-4.0.2 lib/raygun/railtie.rb
raygun4ruby-4.0.1 lib/raygun/railtie.rb
raygun4ruby-4.0.0.pre lib/raygun/railtie.rb