Sha256: e01c1b09360bab49216eeea1d4b923566c92cb6ee220c0628150aa94f4ade0dc

Contents?: true

Size: 924 Bytes

Versions: 3

Compression:

Stored size: 924 Bytes

Contents

# frozen_string_literal: true

##
# This code is inspired by request_store gem by Steve Klabnik:
#
# https://github.com/steveklabnik/request_store/
#
# See LICENSE.txt in the current directory for the license.

module PlainApm
  module Extensions
    module Context
      class Railtie < Rails::Railtie
        initializer(:plain_apm_thread_context, after: :plain_apm_agent_start) do |app|
          next if !PlainApm.agent.enabled?

          ::ActiveSupport.on_load(:active_job, run_once: true) do |klass|
            klass.prepend(PlainApm::Extensions::Context::ActiveJob)
          end

          if defined?(ActionDispatch::RequestId)
            app.config.middleware.insert_after ActionDispatch::RequestId, PlainApm::Extensions::Context::Rack
          else
            app.config.middleware.insert_after Rack::MethodOverride, PlainApm::Extensions::Context::Rack
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
plain_apm-0.10.2 lib/plain_apm/extensions/context/railtie.rb
plain_apm-0.10.0 lib/plain_apm/extensions/context/railtie.rb
plain_apm-0.9.8 lib/plain_apm/extensions/context/railtie.rb