Sha256: 343c405bcc258bd001bf100c51aeff17d92fb609a4e15f78f3ba48da0d199180

Contents?: true

Size: 530 Bytes

Versions: 32

Compression:

Stored size: 530 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
          res = super
          event[:cached] = policy.result.cached?
          event[:value] = policy.result.value
          res
        end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
action_policy-0.7.2 lib/action_policy/rails/authorizer.rb
action_policy-0.7.1 lib/action_policy/rails/authorizer.rb
action_policy-0.7.0 lib/action_policy/rails/authorizer.rb
action_policy-0.6.9 lib/action_policy/rails/authorizer.rb
action_policy-0.6.8 lib/action_policy/rails/authorizer.rb
action_policy-0.6.7 lib/action_policy/rails/authorizer.rb
action_policy-0.6.6 lib/action_policy/rails/authorizer.rb
action_policy-0.6.5 lib/action_policy/rails/authorizer.rb
action_policy-0.6.4 lib/action_policy/rails/authorizer.rb
action_policy-0.6.3 lib/action_policy/rails/authorizer.rb
action_policy-0.6.2 lib/action_policy/rails/authorizer.rb
action_policy-0.6.1 lib/action_policy/rails/authorizer.rb
action_policy-0.6.0 lib/action_policy/rails/authorizer.rb
action_policy-0.5.7 lib/action_policy/rails/authorizer.rb
action_policy-0.5.6 lib/action_policy/rails/authorizer.rb
action_policy-0.5.5 lib/action_policy/rails/authorizer.rb
action_policy-0.5.4 lib/action_policy/rails/authorizer.rb
action_policy-0.5.3 lib/action_policy/rails/authorizer.rb
action_policy-0.5.2 lib/action_policy/rails/authorizer.rb
action_policy-0.5.1 lib/action_policy/rails/authorizer.rb