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
for(user)
Alias for: to
for_user(user)
Alias for: to
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
Also aliased as: for, for_user, to_user
to_user(user)
Alias for: to
with(object_to_guard)
Alias for: on

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