Sha256: 04655f122b3d5dd9f4f844a450ab56be4e1da4fa724031c9b569e49992f9dfa4

Contents?: true

Size: 522 Bytes

Versions: 1

Compression:

Stored size: 522 Bytes

Contents

# frozen_string_literal: true

module ActionPolicy # :nodoc:
  module Rails
    # Add instrumentation for `authorize!` method
    module Authorizer
      EVENT_NAME = "action_policy.authorize"

      def authorize(policy, rule)
        event = {policy: policy.class.name, rule: rule.to_s}
        ActiveSupport::Notifications.instrument(EVENT_NAME, event) do
          result = super
          event[:cached] = result.cached?
          event[:value] = result.value
          result
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
action_policy-0.7.3 lib/action_policy/rails/authorizer.rb