module ActionPolicy::Testing::AuthorizeTracker
Collects all Authorizer
calls
Public Class Methods
calls()
click to toggle source
# File lib/action_policy/testing.rb, line 89 def calls Thread.current[:__action_policy_calls] ||= [] end
scopings()
click to toggle source
# File lib/action_policy/testing.rb, line 93 def scopings Thread.current[:__action_policy_scopings] ||= [] end
track(policy, rule)
click to toggle source
Called from Authorizer
# File lib/action_policy/testing.rb, line 78 def track(policy, rule) return unless tracking? calls << Call.new(policy, rule) end
track_scope(target, policy, type:, name:, scope_options:)
click to toggle source
Called from Authorizer
# File lib/action_policy/testing.rb, line 84 def track_scope(target, policy, type:, name:, scope_options:) return unless tracking? scopings << Scoping.new(policy, target, type, name, scope_options) end
tracking() { || ... }
click to toggle source
Wrap code under inspection into this method to track authorize! calls
# File lib/action_policy/testing.rb, line 68 def tracking calls.clear scopings.clear Thread.current[:__action_policy_tracking] = true yield ensure Thread.current[:__action_policy_tracking] = false end
tracking?()
click to toggle source
# File lib/action_policy/testing.rb, line 97 def tracking? Thread.current[:__action_policy_tracking] == true end