class ScoutApm::Instruments::RailsRouter
Attributes
Public Class Methods
Source
# File lib/scout_apm/instruments/rails_router.rb, line 6 def initialize(context) @context = context @installed = false end
Public Instance Methods
Source
# File lib/scout_apm/instruments/rails_router.rb, line 24 def call_with_scout_instruments(*args) req = ScoutApm::RequestManager.lookup req.start_layer(ScoutApm::Layer.new("Router", "Rails")) begin call_without_scout_instruments(*args) ensure req.stop_layer end end
Source
# File lib/scout_apm/instruments/rails_router.rb, line 19 def install(prepend:) if defined?(ActionDispatch) && defined?(ActionDispatch::Routing) && defined?(ActionDispatch::Routing::RouteSet) @installed = true ActionDispatch::Routing::RouteSet.class_eval do def call_with_scout_instruments(*args) req = ScoutApm::RequestManager.lookup req.start_layer(ScoutApm::Layer.new("Router", "Rails")) begin call_without_scout_instruments(*args) ensure req.stop_layer end end alias_method :call_without_scout_instruments, :call alias_method :call, :call_with_scout_instruments end end end
Source
# File lib/scout_apm/instruments/rails_router.rb, line 15 def installed? @installed end
Source
# File lib/scout_apm/instruments/rails_router.rb, line 11 def logger context.logger end