Class: AccessPolicy::RspecMatchers::PositivePolicyMatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/access_policy/rspec_matchers.rb

Direct Known Subclasses

NegativePolicyMatcher

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(permission) ⇒ PositivePolicyMatcher

Returns a new instance of PositivePolicyMatcher.



13
14
15
# File 'lib/access_policy/rspec_matchers.rb', line 13

def initialize(permission)
  self.permission = permission
end

Instance Attribute Details

#object_to_guardObject

Returns the value of attribute object_to_guard.



11
12
13
# File 'lib/access_policy/rspec_matchers.rb', line 11

def object_to_guard
  @object_to_guard
end

#permissionObject

Returns the value of attribute permission.



11
12
13
# File 'lib/access_policy/rspec_matchers.rb', line 11

def permission
  @permission
end

#policy_classObject

Returns the value of attribute policy_class.



11
12
13
# File 'lib/access_policy/rspec_matchers.rb', line 11

def policy_class
  @policy_class
end

#userObject

Returns the value of attribute user.



11
12
13
# File 'lib/access_policy/rspec_matchers.rb', line 11

def user
  @user
end

Instance Method Details

#eval_matchObject



22
23
24
# File 'lib/access_policy/rspec_matchers.rb', line 22

def eval_match
  permission_granted?
end

#failure_messageObject



26
27
28
# 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_partObject



35
36
37
# File 'lib/access_policy/rspec_matchers.rb', line 35

def failure_message_part
  'does not permit'
end

#matches?(policy_class) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
# File 'lib/access_policy/rspec_matchers.rb', line 17

def matches?(policy_class)
  self.policy_class = policy_class
  eval_match
end

#negative_failure_messageObject



30
31
32
# 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_partObject



39
40
41
# File 'lib/access_policy/rspec_matchers.rb', line 39

def negative_failure_message_part
  'does not forbid'
end

#on(object_to_guard) ⇒ Object Also known as: with



51
52
53
54
# File 'lib/access_policy/rspec_matchers.rb', line 51

def on(object_to_guard)
  self.object_to_guard = object_to_guard
  self
end

#to(user) ⇒ Object Also known as: for, for_user, to_user



43
44
45
46
# File 'lib/access_policy/rspec_matchers.rb', line 43

def to(user)
  self.user = user
  self
end