Class: Credentials::Rules::Cannot

Inherits:
Can
  • Object
show all
Defined in:
lib/credentials/rules/cannot.rb

Instance Attribute Summary

Attributes inherited from Rule

#options, #verb

Instance Method Summary collapse

Methods inherited from Rule

#initialize, #match?

Constructor Details

This class inherits a constructor from Credentials::Rules::Rule

Instance Method Details

#allow?(actor, verb, *args) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
# File 'lib/credentials/rules/cannot.rb', line 4

def allow?(actor, verb, *args)
  return false unless match? actor, verb, *args
  result = false
  result ||= evaluate(@options[:unless], actor, *args) if @options[:unless]
  result
end

#deny?(actor, verb, *args) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
# File 'lib/credentials/rules/cannot.rb', line 11

def deny?(actor, verb, *args)
  return false unless match? actor, verb, *args
  result = true
  result &&= evaluate(@options[:if], actor, *args) if @options[:if]
  result &&= !evaluate(@options[:unless], actor, *args) if @options[:unless]
  result
end