class AccessPolicy::RspecMatchers::PositivePolicyMatcher
Attributes
object_to_guard[RW]
permission[RW]
policy_class[RW]
user[RW]
Public Class Methods
new(permission)
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 13 def initialize(permission) self.permission = permission end
Public Instance Methods
eval_match()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 22 def eval_match permission_granted? end
failure_message()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 26 def failure_message "#{policy_class} #{failure_message_part} '#{permission}'#{object_as_text}#{user_as_text}." end
failure_message_part()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 35 def failure_message_part 'does not permit' end
matches?(policy_class)
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 17 def matches?(policy_class) self.policy_class = policy_class eval_match end
negative_failure_message()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 30 def negative_failure_message "#{policy_class} #{negative_failure_message_part} '#{permission}'#{object_as_text}#{user_as_text}." end
negative_failure_message_part()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 39 def negative_failure_message_part 'does not forbid' end
on(object_to_guard)
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 51 def on(object_to_guard) self.object_to_guard = object_to_guard self end
Also aliased as: with
to(user)
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 43 def to(user) self.user = user self end
Protected Instance Methods
object_as_text()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 64 def object_as_text self.object_to_guard.nil? ? '' : " on #{self.object_to_guard.inspect}" end
permission_granted?()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 59 def permission_granted? policy = policy_class.new(@user, @object_to_guard) policy.public_send("#{permission}?") end
user_as_text()
click to toggle source
# File lib/access_policy/rspec_matchers.rb, line 68 def user_as_text self.user.nil? ? '' : " to #{self.user.inspect}" end