graphvizml 0.4.5 → 0.5.0

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
  SHA1:
3
- metadata.gz: 3ba6679dbfb36498af73546767fd8e751ef774af
4
- data.tar.gz: cda9fbc78586c332282eb3d5cb8e70b1d9f4eea7
3
+ metadata.gz: b4bdf526de42c11fc8ce95cae6fb00ab33da0060
4
+ data.tar.gz: 95bbde7cc050c1505f6da0d1d88a115f4e12b587
5
5
  SHA512:
6
- metadata.gz: ad0c4b1354f05d0bae6a8da70ea9eb3596a7671244621e2d627963c8f7213d3617e0e27745d3dfafb8e71e21d8d82b7affb087132a14d79762430ff29ae2e93c
7
- data.tar.gz: acab68d1a61b4b941d687172cb55a640823d0a05f1ccdb64bfde001c096c190c53ed3ecc48be3254013c887c0d314366e2f470844d7520b4871ebd5c50b0c1e4
6
+ metadata.gz: 660a430841c9c74ee2a96c5d0c710368339fab5af3233337d8777040ce852eaec9addccae47558a0ad253f9563a175c625e4a73f54c92608eacb93cc30d373a8
7
+ data.tar.gz: 7446bdea1e72372999a5011fc3197ee8347689cb561953b06d105a2265316528b594b79c32b8723bc10f840dc071cce302369237d8271884fffca0d343a3899a
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/graphvizml.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # file: graphvizml.rb
4
4
 
5
5
 
6
- require 'rexle'
6
+ require 'domle'
7
7
  require 'graphviz'
8
8
 
9
9
 
@@ -15,7 +15,7 @@ class GraphVizML
15
15
 
16
16
  @doc = if obj.is_a? String then
17
17
 
18
- Rexle.new(File.read @filename=obj)
18
+ Domle.new(File.read @filename=obj)
19
19
 
20
20
  elsif obj.is_a? Rexle
21
21
 
@@ -80,7 +80,8 @@ class GraphVizML
80
80
  # shape options: box, ellipse, record, diamond, circle, polygon, point
81
81
  shape = h.has_key?(:shape) ? h[:shape] : :box
82
82
  #puts "adding node id: %s label: %s" % [id, label]
83
- r.merge(id => [label, {shape: shape}, nil])
83
+ r.merge(id => [label, node.style.merge({shape: shape}), nil])
84
+
84
85
  end
85
86
 
86
87
 
@@ -89,7 +90,6 @@ class GraphVizML
89
90
  id_1 = e_edges.root.element('records/edge/records/node/attribute::gid').to_s
90
91
  nodes[id_1][-1] = @g.add_node(nodes[id_1][0])
91
92
 
92
-
93
93
  e_edges.root.xpath('records/edge').each do |edge|
94
94
 
95
95
  id1, id2 = edge.xpath('records/node/attribute::gid').map(&:to_s)
@@ -97,80 +97,21 @@ class GraphVizML
97
97
  label = edge.text('summary/label').to_s
98
98
  #puts "adding edge id1: %s id2: %s label: %s" % [id1, id2, label]
99
99
  nodes[id2][-1] ||= nodes[id1].last.add_node(nodes[id2][0])
100
- nodes[id1][-1].connections.last.attributes[:label] = label
101
- end
102
-
103
-
104
- # add the styling once the objects have been created
105
-
106
- style = @doc.root.element('style')
107
-
108
- stylesheet = style ? style.text : default_stylesheet()
109
-
110
-
111
- # parse the stylesheet
112
-
113
- a = stylesheet.split(/}/)[0..-2].map do |entry|
114
-
115
- raw_selector,raw_styles = entry.split(/{/,2)
116
-
117
- h = raw_styles.strip.split(/;/).inject({}) do |r, x|
118
- k, v = x.split(/:/,2).map(&:strip)
119
- r.merge(k.to_sym => v)
120
- end
121
-
122
- [raw_selector.split(/,\s*/).map(&:strip), h]
123
- end
124
-
125
- node_style = a.detect {|x| x.assoc 'node'}
126
-
100
+ attributes = edge.style.merge({label: label})
101
+ conn = nodes[id1][-1].connections.last
102
+ conn.attributes[:label] = label
103
+ edge.style.each {|key,val| conn.attributes[key] = val }
104
+
105
+ end
106
+
127
107
  nodes.each do |id, x|
128
108
 
129
109
  _, attributes, obj = x
130
- attributes.each {|key, value| obj.attributes[key] = value }
131
- node_style.last.each {|key, value| obj.attributes[key] = value } if node_style
110
+ attributes.each {|key, value| obj.attributes[key] = value }
132
111
 
133
112
  end
134
-
135
- edge_style = a.detect {|x| x.assoc 'edge'}
136
-
137
- nodes.each do |id,x|
138
- x.last.connections.each do |conn|
139
- edge_style.last.each {|key, value| conn.attributes[key] = value } if edge_style
140
- end
141
- end
142
-
113
+
143
114
  :build
144
115
  end
145
116
 
146
- private
147
-
148
- def default_stylesheet()
149
-
150
- <<STYLE
151
- node {
152
- color: #ddaa66;
153
- fillcolor: #ffeeee;
154
- fontcolor: #113377;
155
- fontname: Trebuchet MS;
156
- fontsize: 9;
157
- margin: 0.1;
158
- penwidth: 1.3;
159
- shape: box;
160
- style: filled;
161
- }
162
-
163
- edge {
164
- arrowsize: 0.9;
165
- color: #999999;
166
- fontcolor: #444444;
167
- fontname: Verdana;
168
- fontsize: 9;
169
- #{@type == :digraph ? 'dir: forward;' : ''}
170
- weight: 1;
171
- }
172
-
173
- STYLE
174
- end
175
-
176
117
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphvizml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -34,25 +34,25 @@ cert_chain:
34
34
  date: 2017-09-05 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
- name: rexle
37
+ name: domle
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '1.4'
42
+ version: '0.2'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.4.7
45
+ version: 0.2.0
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '1.4'
52
+ version: '0.2'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.4.7
55
+ version: 0.2.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: graphviz
58
58
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file