Method: Chawk.find_or_create_node

Defined in:
lib/chawk.rb

.find_or_create_node(agent, key, access = :full) ⇒ Object

Raises:

  • (ArgumentError)


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.set_permissions(agent,true,true,true)
	end
	node.access = access
	return node
end