Sha256: a0fd9e6a6ae3832702bbfcd8ecced087f76d48b4f2a912f18904078c91c87321

Contents?: true

Size: 979 Bytes

Versions: 8

Compression:

Stored size: 979 Bytes

Contents

# frozen_string_literal: true

module AppMap
  # Railtie connects the AppMap recorder to Rails-specific features.
  class Railtie < ::Rails::Railtie
    initializer 'appmap.remote_recording' do
      require 'appmap/middleware/remote_recording'
      Rails.application.config.middleware.insert_after \
        Rails::Rack::Logger,
        AppMap::Middleware::RemoteRecording
    end

    # appmap.subscribe subscribes to ActiveSupport Notifications so that they can be recorded as
    # AppMap events.
    initializer 'appmap.subscribe' do |_| # params: app
      require 'appmap/handler/rails/sql_handler'
      require 'appmap/handler/rails/request_handler'
      ActiveSupport::Notifications.subscribe 'sql.sequel', AppMap::Handler::Rails::SQLHandler.new
      ActiveSupport::Notifications.subscribe 'sql.active_record', AppMap::Handler::Rails::SQLHandler.new

      AppMap::Handler::Rails::RequestHandler::HookMethod.new.activate
    end
  end
end if ENV['APPMAP'] == 'true'

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
appmap-0.53.0 lib/appmap/railtie.rb
appmap-0.52.1 lib/appmap/railtie.rb
appmap-0.52.0 lib/appmap/railtie.rb
appmap-0.51.3 lib/appmap/railtie.rb
appmap-0.51.2 lib/appmap/railtie.rb
appmap-0.51.1 lib/appmap/railtie.rb
appmap-0.51.0 lib/appmap/railtie.rb
appmap-0.50.0 lib/appmap/railtie.rb