Class: Casbin::Model::Model

Inherits:
Policy
  • Object
show all
Defined in:
lib/casbin-ruby/model/model.rb

Constant Summary collapse

SECTION_NAME_MAP =
{
  r: 'request_definition',
  p: 'policy_definition',
  g: 'role_definition',
  e: 'policy_effect',
  m: 'matchers'
}.freeze

Instance Attribute Summary

Attributes inherited from Policy

#model

Instance Method Summary collapse

Methods inherited from Policy

#add_policies, #add_policy, #build_role_links, #clear_policy, #get_filtered_policy, #get_policy, #get_values_for_field_in_policy, #has_policy, #initialize, #print_policy, #remove_filtered_policy, #remove_policies, #remove_policy, #update_policies, #update_policy

Constructor Details

This class inherits a constructor from Casbin::Model::Policy

Instance Method Details

#add_def(sec, key, value) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/casbin-ruby/model/model.rb', line 30

def add_def(sec, key, value)
  return false if value == ''

  ast = Assertion.new(key: key, value: value)
  %w[r p].include?(sec) ? ast_tokens_set(ast, key) : model_sec_set(ast)

  model[sec] ||= {}
  model[sec][key] = ast
end

#load_model(path) ⇒ Object



20
21
22
23
# File 'lib/casbin-ruby/model/model.rb', line 20

def load_model(path)
  cfg = Config::Config.new_config(path)
  load_sections(cfg)
end

#load_model_from_text(text) ⇒ Object



25
26
27
28
# File 'lib/casbin-ruby/model/model.rb', line 25

def load_model_from_text(text)
  cfg = Config::Config.new_config_from_text(text)
  load_sections(cfg)
end


40
41
42
43
44
45
46
47
48
# File 'lib/casbin-ruby/model/model.rb', line 40

def print_model
  Logger.info 'Model:'

  model.each do |k, v|
    v.each do |i, j|
      Logger.info "#{k}.#{i}: #{j.value}"
    end
  end
end