class Casbin::InternalEnforcer
InternalEnforcer
= CoreEnforcer
+ Internal API.
Protected Instance Methods
add_policies(sec, ptype, rules)
click to toggle source
adds rules to the current policy.
# File lib/casbin-ruby/internal_enforcer.rb, line 18 def add_policies(sec, ptype, rules) return false unless model.add_policies(sec, ptype, rules) make_persistent :add_policies, sec, ptype, rules end
add_policy(sec, ptype, rule)
click to toggle source
adds a rule to the current policy.
# File lib/casbin-ruby/internal_enforcer.rb, line 11 def add_policy(sec, ptype, rule) return false unless model.add_policy(sec, ptype, rule) make_persistent :add_policy, sec, ptype, rule end
remove_filtered_policy(sec, ptype, field_index, *field_values)
click to toggle source
removes rules based on field filters from the current policy.
# File lib/casbin-ruby/internal_enforcer.rb, line 53 def remove_filtered_policy(sec, ptype, field_index, *field_values) return false unless model.remove_filtered_policy(sec, ptype, field_index, *field_values) make_persistent :remove_filtered_policy, sec, ptype, field_index, *field_values end
remove_policies(sec, ptype, rules)
click to toggle source
removes policy rules from the model.
# File lib/casbin-ruby/internal_enforcer.rb, line 46 def remove_policies(sec, ptype, rules) return false unless model.remove_policies(sec, ptype, rules) make_persistent :remove_policies, sec, ptype, rules end
remove_policy(sec, ptype, rule)
click to toggle source
removes a rule from the current policy.
# File lib/casbin-ruby/internal_enforcer.rb, line 39 def remove_policy(sec, ptype, rule) return false unless model.remove_policy(sec, ptype, rule) make_persistent :remove_policy, sec, ptype, rule end
update_policies(sec, ptype, old_rules, new_rules)
click to toggle source
updates rules from the current policy.
# File lib/casbin-ruby/internal_enforcer.rb, line 32 def update_policies(sec, ptype, old_rules, new_rules) return false unless model.update_policies(sec, ptype, old_rules, new_rules) make_persistent :update_policies, sec, ptype, old_rules, new_rules end
update_policy(sec, ptype, old_rule, new_rule)
click to toggle source
updates a rule from the current policy.
# File lib/casbin-ruby/internal_enforcer.rb, line 25 def update_policy(sec, ptype, old_rule, new_rule) return false unless model.update_policy(sec, ptype, old_rule, new_rule) make_persistent :update_policy, sec, ptype, old_rule, new_rule end
Private Instance Methods
make_persistent(meth, *args)
click to toggle source
# File lib/casbin-ruby/internal_enforcer.rb, line 61 def make_persistent(meth, *args) if adapter && auto_save # we can add the `add_policies`, `update_policy`, `update_policies`, `remove_policies` methods # to the base Adapter class and remove `respond_to?` return false unless adapter.respond_to?(meth) && adapter.public_send(meth, *args) watcher&.update end true end