related 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/related/node.rb +9 -11
- data/lib/related/relationship.rb +2 -2
- data/lib/related/version.rb +1 -1
- metadata +7 -11
- data/test/dump-1.rdb +0 -0
- data/test/dump-2.rdb +0 -0
- data/test/dump-3.rdb +0 -0
- data/test/dump-4.rdb +0 -0
data/lib/related/node.rb
CHANGED
@@ -136,18 +136,18 @@ module Related
|
|
136
136
|
else
|
137
137
|
if entity.is_a?(node_class)
|
138
138
|
@result_type = :nodes
|
139
|
-
Related.redis.sismember(key, entity.
|
139
|
+
Related.redis.sismember(key, entity.id)
|
140
140
|
elsif entity.is_a?(Related::Relationship)
|
141
141
|
@result_type = :relationships
|
142
|
-
Related.redis.sismember(key, entity.
|
142
|
+
Related.redis.sismember(key, entity.id)
|
143
143
|
end
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
147
|
def find(node)
|
148
148
|
if @result_type == :nodes
|
149
|
-
if Related.redis.sismember(key, node.
|
150
|
-
node_class.find(node.
|
149
|
+
if Related.redis.sismember(key, node.id)
|
150
|
+
node_class.find(node.id, @options)
|
151
151
|
end
|
152
152
|
else
|
153
153
|
if id = Related.redis.get(dir_key(node))
|
@@ -235,18 +235,16 @@ module Related
|
|
235
235
|
end
|
236
236
|
|
237
237
|
def key(node=nil)
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
"#{node ? node.to_s : @node.to_s}:r:#{@relationship_type}:#{@direction}"
|
242
|
-
end
|
238
|
+
n = node || @node
|
239
|
+
node_id = n.is_a?(String) ? n : n.id
|
240
|
+
"#{node_id}:#{@result_type == :nodes ? "n" : "r"}:#{@relationship_type}:#{@direction}"
|
243
241
|
end
|
244
242
|
|
245
243
|
def dir_key(node)
|
246
244
|
if @direction == :out
|
247
|
-
"#{@node.
|
245
|
+
"#{@node.id}:#{@relationship_type}:#{node.id}"
|
248
246
|
elsif @direction == :in
|
249
|
-
"#{node.
|
247
|
+
"#{node.id}:#{@relationship_type}:#{@node.id}"
|
250
248
|
end
|
251
249
|
end
|
252
250
|
|
data/lib/related/relationship.rb
CHANGED
@@ -41,8 +41,8 @@ module Related
|
|
41
41
|
def self.create(label, node1, node2, attributes = {})
|
42
42
|
self.new(attributes.merge(
|
43
43
|
:label => label,
|
44
|
-
:start_node_id => node1.
|
45
|
-
:end_node_id => node2.
|
44
|
+
:start_node_id => node1.is_a?(String) ? node1 : (node1 ? node1.id : nil),
|
45
|
+
:end_node_id => node2.is_a?(String) ? node2 : (node2 ? node2.id : nil)
|
46
46
|
)).save
|
47
47
|
end
|
48
48
|
|
data/lib/related/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: related
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-02-10 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
16
|
-
requirement: &
|
16
|
+
requirement: &70355260457740 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>'
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70355260457740
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: redis-namespace
|
27
|
-
requirement: &
|
27
|
+
requirement: &70355260492040 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>'
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.8.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70355260492040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activemodel
|
38
|
-
requirement: &
|
38
|
+
requirement: &70355260491660 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70355260491660
|
47
47
|
description: Related is a Redis-backed high performance distributed graph database.
|
48
48
|
email: niklas@sutajio.se
|
49
49
|
executables: []
|
@@ -69,10 +69,6 @@ files:
|
|
69
69
|
- test/active_model_test.rb
|
70
70
|
- test/custom_node_test.rb
|
71
71
|
- test/data_flow_test.rb
|
72
|
-
- test/dump-1.rdb
|
73
|
-
- test/dump-2.rdb
|
74
|
-
- test/dump-3.rdb
|
75
|
-
- test/dump-4.rdb
|
76
72
|
- test/follower_test.rb
|
77
73
|
- test/model_test.rb
|
78
74
|
- test/performance_test.rb
|
data/test/dump-1.rdb
DELETED
Binary file
|
data/test/dump-2.rdb
DELETED
Binary file
|
data/test/dump-3.rdb
DELETED
Binary file
|
data/test/dump-4.rdb
DELETED
Binary file
|