class Casbin::Util::Evaluator
Public Class Methods
eval(expr, funcs = {}, params = {})
click to toggle source
evaluate an expression, using the operators, functions and names previously setup.
# File lib/casbin-ruby/util/evaluator.rb, line 12 def eval(expr, funcs = {}, params = {}) validate_names funcs, params Keisan::Calculator.new.evaluate expr, funcs.merge(params) end
validate_names(funcs = {}, params = {})
click to toggle source
# File lib/casbin-ruby/util/evaluator.rb, line 17 def validate_names(funcs = {}, params = {}) conflicted_names = funcs.keys & params.keys return if conflicted_names.empty? raise NamesConflictError, "You can't use function names as parameter names: " \ "#{conflicted_names.map { |name| "`#{name}`" }.join ', '}" end