class Bodyguards::Base

Public Class Methods

any_permission?(*args) click to toggle source
# File lib/bodyguards/base.rb, line 36
def any_permission?(*args)
  rule_set.evaluate_all(permission_evaluation_context(*args))
end
permission_evaluation_context(*args) click to toggle source
# File lib/bodyguards/base.rb, line 16
def permission_evaluation_context(*args)
  permission_evaluation_context_class_name.constantize.new(*args)
end
permission_to?(feature_name, *args) click to toggle source
# File lib/bodyguards/base.rb, line 28
def permission_to?(feature_name, *args)
  rule_set.evaluate(feature_name, permission_evaluation_context(*args))
end
permit_all(&block) click to toggle source
# File lib/bodyguards/base.rb, line 24
def permit_all(&block)
  rule_set.add_global_rule(Rule.new(evaluator: block))
end
permit_to(feature_name, &block) click to toggle source
# File lib/bodyguards/base.rb, line 20
def permit_to(feature_name, &block)
  rule_set.add_rule_for(feature_name, Rule.new(evaluator: block))
end
rejection_to?(feature_name, *args) click to toggle source
# File lib/bodyguards/base.rb, line 32
def rejection_to?(feature_name, *args)
  !permission_to?(feature_name, *args)
end
rule_set() click to toggle source
# File lib/bodyguards/base.rb, line 12
def rule_set
  @rule_set ||= RuleSet.new
end