gremlin2dot 0.1.2 → 0.1.3
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/data_model.rb +6 -0
- data/lib/gremlin2dot/graph_builder.rb +6 -4
- data/lib/gremlin2dot/unmangler.rb +6 -6
- 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: 4f34d19f7407a24030b1192bbc11980376e13989d5c52695a3ad21c49a3e6d92
|
4
|
+
data.tar.gz: 13094a44b177cae2e59b6e183fd708c4bea23f14c1bae78dcd42e4dff91dbd33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f043e9d49c47ee0a04597f0946f2b1f40eccd3383cabfedbe87c81e1bf5f6317df6f574adc8bd554435aaeb917a709b48bd8f302e0fcd01fb44648c3f2f75338
|
7
|
+
data.tar.gz: 6a236c85c6670c9516ca4d081a844e3486c3a070f43c948a7e45ca36aa22a80b025ea0b29757092b79095cb3e86b72143c5bc1ff7d39096c5cc931b1389e4376
|
@@ -30,6 +30,8 @@ module Gremlin2Dot
|
|
30
30
|
when Tree
|
31
31
|
add_thing thing.key
|
32
32
|
thing.items.each {|child| add_thing child}
|
33
|
+
when Path
|
34
|
+
thing.objects.each {|child| add_thing child}
|
33
35
|
when Array
|
34
36
|
thing.each {|child| add_thing child}
|
35
37
|
else
|
@@ -45,13 +47,13 @@ module Gremlin2Dot
|
|
45
47
|
end
|
46
48
|
|
47
49
|
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
|
+
label = node.id.to_s + "\n" + node.label + node.properties.entries.sort_by(&:first).map {|k, v| "\n#{k}=#{v.first}" }.join("")
|
51
|
+
@g.add_nodes(node.id.to_s, label: label)
|
50
52
|
end
|
51
53
|
|
52
54
|
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
|
+
label = edge.id.to_s + "\n" + edge.label + edge.properties.entries.sort_by(&:first).map {|k, v| "\n#{k}=#{v}" }.join("")
|
56
|
+
@g.add_edges(edge.outV.to_s, edge.inV.to_s, label: label)
|
55
57
|
end
|
56
58
|
|
57
59
|
end
|
@@ -6,9 +6,9 @@ module Gremlin2Dot
|
|
6
6
|
if d.kind_of?(Hash) and d.has_key?('@type') and d.has_key?('@value') and d.keys.count == 2
|
7
7
|
case d['@type']
|
8
8
|
when 'g:Map'
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
d['@value'].map {|t| unmangle t}.to_h
|
10
|
+
when 'g:Set'
|
11
|
+
d['@value'].map {|t| unmangle t}.to_set
|
12
12
|
when 'g:List'
|
13
13
|
unmangle d['@value']
|
14
14
|
when 'g:Tree'
|
@@ -23,6 +23,8 @@ module Gremlin2Dot
|
|
23
23
|
t.items = unmangle item['value']
|
24
24
|
t
|
25
25
|
end
|
26
|
+
when 'g:Path'
|
27
|
+
unmangle_object(d, Path)
|
26
28
|
when 'g:Edge'
|
27
29
|
unmangle_object(d, Edge)
|
28
30
|
when 'g:Vertex'
|
@@ -35,9 +37,7 @@ module Gremlin2Dot
|
|
35
37
|
unmangle_object(d, Property)
|
36
38
|
# discard the key
|
37
39
|
# unmangle d['@value']['value']
|
38
|
-
when 'g:Int32'
|
39
|
-
d['@value']
|
40
|
-
when 'g:Double'
|
40
|
+
when 'g:Int32', 'g:Int64', 'g:Double'
|
41
41
|
d['@value']
|
42
42
|
when 'g:Date'
|
43
43
|
Time.at(d['@value'] / 1000.0)
|
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.3
|
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-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|