Sha256: f7070d4166db76ca69869de20ee3f2daf85dd8c1a371ab5462dfbb0be3042cc9

Contents?: true

Size: 1.19 KB

Versions: 12

Compression:

Stored size: 1.19 KB

Contents

Appsignal.logger.info("Loading Rails (#{Rails.version}) integration")

require 'appsignal/rack/rails_instrumentation'

module Appsignal
  module Integrations
    class Railtie < ::Rails::Railtie
      initializer 'appsignal.configure_rails_initialization' do |app|
        Appsignal::Integrations::Railtie.initialize_appsignal(app)
      end

      def self.initialize_appsignal(app)
        # Load config
        Appsignal.config = Appsignal::Config.new(
          Rails.root,
          ENV.fetch('APPSIGNAL_APP_ENV', Rails.env),
          :name => Rails.application.class.parent_name,
          :log_path => Rails.root.join('log')
        )

        # Start logger
        Appsignal.start_logger

        app.middleware.insert_before(
          ActionDispatch::RemoteIp,
          Appsignal::Rack::RailsInstrumentation
        )

        if Appsignal.config.active? &&
          Appsignal.config[:enable_frontend_error_catching] == true
          app.middleware.insert_before(
            Appsignal::Rack::RailsInstrumentation,
            Appsignal::Rack::JSExceptionCatcher,
          )
        end

        Appsignal.start
      end

      rake_tasks do
        load 'tasks/diag.rake'
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
appsignal-1.1.0.beta.12 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.11 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.10 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.9 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.8 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.7 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.6 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.5 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.4 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.3 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.2 lib/appsignal/integrations/railtie.rb
appsignal-1.1.0.beta.1 lib/appsignal/integrations/railtie.rb