class Casbin::Effect::DefaultEffector

default effector for Casbin.

Public Class Methods

effect_to_bool(effect) click to toggle source
# File lib/casbin-ruby/effect/default_effector.rb, line 29
def self.effect_to_bool(effect)
  return true if effect == ALLOW
  return false if effect == DENY

  raise "effect can't be converted to boolean"
end
get_effector(expr) click to toggle source

creates an effector based on the current policy effect expression

# File lib/casbin-ruby/effect/default_effector.rb, line 14
def self.get_effector(expr)
  case expr
  when 'some(where (p_eft == allow))'
    Effect::AllowOverrideEffector.new
  when '!some(where (p_eft == deny))'
    Effect::DenyOverrideEffector.new
  when 'some(where (p_eft == allow)) && !some(where (p_eft == deny))'
    Effect::AllowAndDenyEffector.new
  when 'priority(p_eft) || deny'
    Effect::PriorityEffector.new
  else
    raise 'unsupported effect'
  end
end