Class: Bodyguards::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/bodyguards/base.rb

Class Method Summary collapse

Class Method Details

.any_permission?(subject) ⇒ Boolean



27
28
29
# File 'lib/bodyguards/base.rb', line 27

def any_permission?(subject)
  rule_set.evaluate_all(subject)
end

.permission_to?(feature_name, subject) ⇒ Boolean



19
20
21
# File 'lib/bodyguards/base.rb', line 19

def permission_to?(feature_name, subject)
  rule_set.evaluate(feature_name, subject)
end

.permit_all(&block) ⇒ Object



15
16
17
# File 'lib/bodyguards/base.rb', line 15

def permit_all(&block)
  rule_set.add_global_rule(Rule.new(evaluator: block))
end

.permit_to(feature_name, &block) ⇒ Object



11
12
13
# File 'lib/bodyguards/base.rb', line 11

def permit_to(feature_name, &block)
  rule_set.add_rule_for(feature_name, Rule.new(evaluator: block))
end

.rejection_to?(feature_name, subject) ⇒ Boolean



23
24
25
# File 'lib/bodyguards/base.rb', line 23

def rejection_to?(feature_name, subject)
  !permission_to?(feature_name, subject)
end

.rule_setObject



7
8
9
# File 'lib/bodyguards/base.rb', line 7

def rule_set
  @rule_set ||= RuleSet.new
end