class GraphqlRails::Controller::LogControllerAction

logs controller start and end times

Constants

PROCESS_ACTION_KEY
START_PROCESSING_KEY

Public Class Methods

new(controller_name:, action_name:, params:, graphql_request:) click to toggle source
# File lib/graphql_rails/controller/log_controller_action.rb, line 16
def initialize(controller_name:, action_name:, params:, graphql_request:)
  @controller_name = controller_name
  @action_name = action_name
  @params = params
  @graphql_request = graphql_request
end

Public Instance Methods

call() { || ... } click to toggle source
# File lib/graphql_rails/controller/log_controller_action.rb, line 23
def call
  ActiveSupport::Notifications.instrument(START_PROCESSING_KEY, default_payload)
  ActiveSupport::Notifications.instrument(PROCESS_ACTION_KEY, default_payload) do |payload|
    yield.tap do
      payload[:status] = status
    end
  end