related 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|