Class: Neography::Relationship
Instance Attribute Summary collapse
#neo_id
Class Method Summary
collapse
-
.create(type, from_node, to_node, props = nil) ⇒ Object
-
.create_unique(index, key, value, type, from_node, to_node, props = nil) ⇒ Object
-
.load(rel, db = Neography::Rest.new) ⇒ Object
Instance Method Summary
collapse
Methods included from Index
#add_to_index, included, #remove_from_index
Methods included from Property
#[], #[]=, #add_or_remove_ostruct_member, #attributes, #method_missing, #new_ostruct_member, #node?, #remove_ostruct_member, #reset_properties, #set_properties
Methods included from Equal
#==, #eql?
Constructor Details
#initialize(hash = nil, server = nil) ⇒ Relationship
Returns a new instance of Relationship.
40
41
42
43
44
45
46
|
# File 'lib/neography/relationship.rb', line 40
def initialize(hash=nil, server=nil)
super(hash)
@start_node = hash["start"].split('/').last
@end_node = hash["end"].split('/').last
@rel_type = hash["type"]
self.neo_server = server
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Neography::Property
Instance Attribute Details
#end_node ⇒ Object
Returns the value of attribute end_node.
7
8
9
|
# File 'lib/neography/relationship.rb', line 7
def end_node
@end_node
end
|
#rel_type ⇒ Object
Returns the value of attribute rel_type.
7
8
9
|
# File 'lib/neography/relationship.rb', line 7
def rel_type
@rel_type
end
|
#start_node ⇒ Object
Returns the value of attribute start_node.
7
8
9
|
# File 'lib/neography/relationship.rb', line 7
def start_node
@start_node
end
|
Class Method Details
.create(type, from_node, to_node, props = nil) ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/neography/relationship.rb', line 11
def create(type, from_node, to_node, props = nil)
rel = Neography::Relationship.new(from_node.neo_server.create_relationship(type, from_node, to_node, props))
rel.start_node = from_node
rel.end_node = to_node
rel.rel_type = type
rel
end
|
.create_unique(index, key, value, type, from_node, to_node, props = nil) ⇒ Object
19
20
21
22
23
24
25
|
# File 'lib/neography/relationship.rb', line 19
def create_unique(index, key, value, type, from_node, to_node, props = nil)
rel = Neography::Relationship.new(from_node.neo_server.create_unique_relationship(index, key, value, type, from_node, to_node, props))
rel.start_node = from_node
rel.end_node = to_node
rel.rel_type = type
rel
end
|
.load(rel, db = Neography::Rest.new) ⇒ Object
Instance Method Details
#del ⇒ Object
56
57
58
|
# File 'lib/neography/relationship.rb', line 56
def del
neo_server.delete_relationship(neo_id)
end
|
#exist? ⇒ Boolean
60
61
62
63
64
65
66
67
|
# File 'lib/neography/relationship.rb', line 60
def exist?
begin
start_node.neo_server.get_relationship(neo_id)
true
rescue Neography::RelationshipNotFoundException
false
end
end
|
#neo_server ⇒ Object
48
49
50
|
# File 'lib/neography/relationship.rb', line 48
def neo_server
@neo_server ||= self.start_node.neo_server
end
|
#neo_server=(server) ⇒ Object
52
53
54
|
# File 'lib/neography/relationship.rb', line 52
def neo_server=(server)
@neo_server = server
end
|
#other_node(node) ⇒ Object
69
70
71
72
73
74
75
|
# File 'lib/neography/relationship.rb', line 69
def other_node(node)
if node == @start_node
@end_node
else
@start_node
end
end
|