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

Returns:

  • (Boolean)


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

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

.permission_to?(feature_name, subject) ⇒ Boolean

Returns:

  • (Boolean)


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

def permission_to?(feature_name, subject)
  rule_set.evaluate(feature_name, subject)
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

Returns:

  • (Boolean)


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

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