class Airbrake::Rails::ActionControllerRouteSubscriber

ActionControllerRouteSubscriber sends route stat information, including performance data.

@since v8.0.0

Public Class Methods

new() click to toggle source
# File lib/airbrake/rails/action_controller_route_subscriber.rb, line 11
def initialize
  @app = Airbrake::Rails::App.new
end

Public Instance Methods

call(*args) click to toggle source
# File lib/airbrake/rails/action_controller_route_subscriber.rb, line 15
def call(*args)
  # We don't track routeless events.
  return unless (routes = Airbrake::Rack::RequestStore[:routes])

  event = Airbrake::Rails::Event.new(*args)
  route = find_route(event.params)
  return unless route

  routes[route.path] = {
    method: event.method,
    response_type: event.response_type,
    groups: {}
  }
end

Private Instance Methods

find_route(params) click to toggle source
# File lib/airbrake/rails/action_controller_route_subscriber.rb, line 32
def find_route(params)
  @app.routes.find do |route|
    route.controller == params['controller'] &&
      route.action == params['action']
  end
end