Class: ActionGuard::LevelRule
- Inherits:
-
Object
- Object
- ActionGuard::LevelRule
- Defined in:
- lib/action-guard/rules.rb
Instance Method Summary collapse
- #allows?(person) ⇒ Boolean
-
#initialize(allowed_level, role_leveler, &proc) ⇒ LevelRule
constructor
A new instance of LevelRule.
Constructor Details
#initialize(allowed_level, role_leveler, &proc) ⇒ LevelRule
Returns a new instance of LevelRule.
13 14 15 16 17 |
# File 'lib/action-guard/rules.rb', line 13 def initialize(allowed_level, role_leveler, &proc) @role_leveler = role_leveler @allowed_level = allowed_level @additional_rule = proc end |
Instance Method Details
#allows?(person) ⇒ Boolean
19 20 21 22 23 24 |
# File 'lib/action-guard/rules.rb', line 19 def allows?(person) return false unless person return false unless @role_leveler.role(person.role) >= @role_leveler.role(@allowed_level) return true unless @additional_rule return @additional_rule.call(person) end |