gremlin2dot 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/lib/gremlin2dot/graph_builder.rb +25 -20
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f3caf040c14213db68f758fb1120d2ba2fb617d4e2189c0bafee75a0a27e749
|
4
|
+
data.tar.gz: e080468b7856ad111121cab2b20816d73b2d7ee6771a33fcf871d648e3856acf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8c3d4342e60d5e322501d58c26ec2c341b9112982de6644ea554228b3f90b3d267afd6e053f6bc514695cb6a8fdd7feaf6129abfcf328593f7364b4d2aa14a3
|
7
|
+
data.tar.gz: da9d52a2977719bda217b2b3aabdc1640c1eb7e4b45a2705ae1146ab0d73e75aaf87c7ef9a45f97473e19d746c6ac876a07cc4460602d12eb14bcfb52d009c92
|
@@ -14,41 +14,46 @@ module Gremlin2Dot
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def build(unmangled_data)
|
17
|
-
|
18
|
-
|
19
|
-
trees.each do |t0|
|
20
|
-
t0.each do |t1|
|
21
|
-
add_thing t1
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
17
|
+
add_thing unmangled_data['result']['data']
|
25
18
|
@g
|
26
19
|
end
|
27
20
|
|
21
|
+
private
|
22
|
+
|
28
23
|
def add_thing(thing)
|
24
|
+
# $stderr.puts "add_thing #{thing.class} #{thing}"
|
29
25
|
case thing
|
30
26
|
when Vertex
|
31
|
-
|
32
|
-
unless @seen.include? node.id
|
33
|
-
label = node.label + node.properties.entries.sort_by(&:first).map {|k, v| "\n#{k}=#{v.first}" }.join("")
|
34
|
-
@g.add_nodes(node.id, label: label)
|
35
|
-
@seen << node.id
|
36
|
-
end
|
27
|
+
once_only(thing.id) { add_node thing }
|
37
28
|
when Edge
|
38
|
-
|
39
|
-
unless @seen.include? edge.id
|
40
|
-
label = edge.label + edge.properties.entries.sort_by(&:first).map {|k, v| "\n#{k}=#{v}" }.join("")
|
41
|
-
@g.add_edges(edge.outV, edge.inV, label: label)
|
42
|
-
@seen << edge.id
|
43
|
-
end
|
29
|
+
once_only(thing.id) { add_edge thing }
|
44
30
|
when Tree
|
45
31
|
add_thing thing.key
|
46
32
|
thing.items.each {|child| add_thing child}
|
33
|
+
when Array
|
34
|
+
thing.each {|child| add_thing child}
|
47
35
|
else
|
48
36
|
$stderr.puts "Not adding #{thing.class} to the graph"
|
49
37
|
end
|
50
38
|
end
|
51
39
|
|
40
|
+
def once_only(id)
|
41
|
+
unless @seen.include? id
|
42
|
+
yield
|
43
|
+
@seen << id
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_node(node)
|
48
|
+
label = node.id + "\n" + node.label + node.properties.entries.sort_by(&:first).map {|k, v| "\n#{k}=#{v.first}" }.join("")
|
49
|
+
@g.add_nodes(node.id, label: label)
|
50
|
+
end
|
51
|
+
|
52
|
+
def add_edge(edge)
|
53
|
+
label = edge.id + "\n" + edge.label + edge.properties.entries.sort_by(&:first).map {|k, v| "\n#{k}=#{v}" }.join("")
|
54
|
+
@g.add_edges(edge.outV, edge.inV, label: label)
|
55
|
+
end
|
56
|
+
|
52
57
|
end
|
53
58
|
|
54
59
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gremlin2dot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rachel Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|