class Neography::Node
Attributes
neo_server[RW]
Public Class Methods
create(props = nil, db = Neography::Rest.new)
click to toggle source
# File lib/neography/node.rb, line 11 def self.create(props = nil, db = Neography::Rest.new) raise ArgumentError.new("syntax deprecated") if props.is_a?(Neography::Rest) node = self.new(db.create_node(props)) node.neo_server = db node end
create_unique(index, key, value, props = nil, db = Neography::Rest.new)
click to toggle source
# File lib/neography/node.rb, line 19 def self.create_unique(index, key, value, props = nil, db = Neography::Rest.new) raise ArgumentError.new("syntax deprecated") if props.is_a?(Neography::Rest) node = self.new(db.create_unique_node(index, key, value, props)) node.neo_server = db node end
load(node, db = Neography::Rest.new)
click to toggle source
# File lib/neography/node.rb, line 27 def self.load(node, db = Neography::Rest.new) raise ArgumentError.new("syntax deprecated") if node.is_a?(Neography::Rest) node = node.first if node.kind_of?(Array) node = db.get_node(node) if (node.to_s.match(/^\d+$/) or node.to_s.split("/").last.match(/^\d+$/)) if node node = self.new(node) node.neo_server = db end node end
Public Instance Methods
add_labels(labels)
click to toggle source
# File lib/neography/node.rb, line 69 def add_labels(labels) # Just invalidating the cache on purpose, see set_labels @cached_labels = nil self.neo_server.add_label(self, [labels].flatten) end
Also aliased as: add_label
cached_labels=(labels)
click to toggle source
# File lib/neography/node.rb, line 82 def cached_labels=(labels) @cached_labels = [labels].flatten end
del()
click to toggle source
# File lib/neography/node.rb, line 43 def del neo_server.delete_node!(self.neo_id) end
delete_label(label)
click to toggle source
# File lib/neography/node.rb, line 77 def delete_label(label) @cached_labels = nil self.neo_server.delete_label(self, label) end
exist?()
click to toggle source
# File lib/neography/node.rb, line 47 def exist? begin neo_server.get_node(self.neo_id) true rescue NodeNotFoundException false end end
find(*args)
click to toggle source
# File lib/neography/node.rb, line 38 def find(*args) node = self.new node.find(args) end
labels()
click to toggle source
# File lib/neography/node.rb, line 56 def labels @cached_labels ||= [self.neo_server.get_node_labels(self.neo_id)].compact.flatten end
set_labels(labels)
click to toggle source
# File lib/neography/node.rb, line 60 def set_labels(labels) # I just invalidate the cache instead of updating it to make sure # it doesn't contain something else than what ends up in neo4j # (consider duplicate/invalid labels, etc). @cached_labels = nil self.neo_server.set_label(self, [labels].flatten) end
Also aliased as: set_label