gremlin2dot 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f3caf040c14213db68f758fb1120d2ba2fb617d4e2189c0bafee75a0a27e749
4
- data.tar.gz: e080468b7856ad111121cab2b20816d73b2d7ee6771a33fcf871d648e3856acf
3
+ metadata.gz: 4f34d19f7407a24030b1192bbc11980376e13989d5c52695a3ad21c49a3e6d92
4
+ data.tar.gz: 13094a44b177cae2e59b6e183fd708c4bea23f14c1bae78dcd42e4dff91dbd33
5
5
  SHA512:
6
- metadata.gz: c8c3d4342e60d5e322501d58c26ec2c341b9112982de6644ea554228b3f90b3d267afd6e053f6bc514695cb6a8fdd7feaf6129abfcf328593f7364b4d2aa14a3
7
- data.tar.gz: da9d52a2977719bda217b2b3aabdc1640c1eb7e4b45a2705ae1146ab0d73e75aaf87c7ef9a45f97473e19d746c6ac876a07cc4460602d12eb14bcfb52d009c92
6
+ metadata.gz: f043e9d49c47ee0a04597f0946f2b1f40eccd3383cabfedbe87c81e1bf5f6317df6f574adc8bd554435aaeb917a709b48bd8f302e0fcd01fb44648c3f2f75338
7
+ data.tar.gz: 6a236c85c6670c9516ca4d081a844e3486c3a070f43c948a7e45ca36aa22a80b025ea0b29757092b79095cb3e86b72143c5bc1ff7d39096c5cc931b1389e4376
@@ -57,4 +57,10 @@ module Gremlin2Dot
57
57
  attr_accessor :key, :items
58
58
  end
59
59
 
60
+ class Path < Hash
61
+ def labels ; self['labels'] ; end
62
+ def objects ; self['objects'] || {} ; end
63
+ def inspect ; "#<#{self.class.name} #{super}>" ; end
64
+ end
65
+
60
66
  end
@@ -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
- h = Hash.new
10
- raise unless d['@value'].empty?
11
- h
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.2
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-07-13 00:00:00.000000000 Z
11
+ date: 2018-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client