Class: ActionPolicy::Testing::AuthorizeTracker::Call

Inherits:
Object
  • Object
show all
Includes:
Context
Defined in:
lib/action_policy/testing.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy, rule) ⇒ Call

Returns a new instance of Call.



23
24
25
26
# File 'lib/action_policy/testing.rb', line 23

def initialize(policy, rule)
  @policy = policy
  @rule = rule
end

Instance Attribute Details

#policyObject (readonly)

Returns the value of attribute policy.



21
22
23
# File 'lib/action_policy/testing.rb', line 21

def policy
  @policy
end

#ruleObject (readonly)

Returns the value of attribute rule.



21
22
23
# File 'lib/action_policy/testing.rb', line 21

def rule
  @rule
end

Instance Method Details

#inspectObject



34
35
36
37
# File 'lib/action_policy/testing.rb', line 34

def inspect
  "#{policy.record.inspect} was authorized with #{policy.class}##{rule} " \
    "and context #{policy.authorization_context.inspect}"
end

#matches?(policy_class, actual_rule, target, context) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
32
# File 'lib/action_policy/testing.rb', line 28

def matches?(policy_class, actual_rule, target, context)
  policy_class == policy.class &&
    (target.is_a?(Class) ? target == policy.record : target === policy.record) &&
    rule == actual_rule && context_matches?(context, policy.authorization_context)
end