Method: Chawk.find_or_create_node
- Defined in:
- lib/chawk.rb
.find_or_create_node(agent, key, access = :full) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/chawk.rb', line 41 def self.find_or_create_node(agent,key,access=:full) #TODO also accept regex-tested string raise(ArgumentError,"Key must be a string.") unless key.is_a?(String) node = Chawk::Models::Node.where(key:key).first if node node = check_node_security(agent,node,access) else node = Chawk::Models::Node.create(key:key) if node.nil? node.(agent,true,true,true) end node.access = access return node end |