ruby-graphviz 1.0.5 → 1.0.6

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.
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/ruby
2
+
3
+ $:.unshift( "../../lib" );
4
+ require "graphviz"
5
+
6
+ GraphViz.new(:g){ |g|
7
+ g[:center] = true
8
+ a = g.add_nodes("A", :shape => "rgv_box", :peripheries => 0)
9
+ b = g.add_nodes("Bonjour le monde\nComment va tu ?", :shape => "rgv_cloud", :peripheries => 0)
10
+ c = g.add_nodes("C", :shape => "rgv_flower", :peripheries => 0)
11
+ a << b << c
12
+ }.save( :ps => "#{$0}.ps", :extlib => "rgv.ps" )
data/examples/sample43.rb CHANGED
@@ -23,4 +23,4 @@ g.add_edges( {"struct1" => :f2}, {"struct3" => :here} )
23
23
 
24
24
  g.add_edges( "HTML", "struct1" )
25
25
 
26
- g.output( :path => '/usr/local/bin/', :png => "#{$0}.png" )
26
+ g.output( :path => ARGV[0], :png => "#{$0}.png" )
@@ -26,27 +26,29 @@ BEGIN {
26
26
  graph_t subgraph; graph_t pgraph;
27
27
  graph_t ofgraph;
28
28
 
29
- string xOut;
30
- if( ARGC == 0 ) {
31
- xOut = "_";
32
- } else {
33
- xOut = tolower(ARGV[0]);
34
- }
29
+ string xOut;
30
+ if( ARGC == 0 ) {
31
+ xOut = "_";
32
+ } else {
33
+ xOut = tolower(ARGV[0]);
34
+ }
35
35
 
36
36
  printf( "# This code was generated by dot2ruby.g\n\n" );
37
37
 
38
38
  string rubyfy( string s ) {
39
39
  string out;
40
40
  out = tolower( s );
41
- out = gsub( out, " ", "__" );
42
- out = gsub( out, "'", "" );
43
- out = gsub( out, "-", "_" );
44
- out = gsub( out, ".", "" );
45
- out = gsub( out, "%", "u" );
46
- out = gsub( out, "+", "" );
47
- out = gsub( out, "/", "_" );
41
+ out = gsub( out, "[!a-zA-Z0-9_]", "_" );
48
42
  return( out );
49
43
  }
44
+
45
+ string stringify( string s ) {
46
+ string sout;
47
+ sout = gsub(s, "\"", "\\\"");
48
+ sout = gsub(sout, "@", "\\@");
49
+ sout = gsub(sout, "$", "\\$");
50
+ return( sout );
51
+ }
50
52
  }
51
53
 
52
54
  BEG_G {
@@ -54,9 +56,9 @@ BEG_G {
54
56
  // Directed
55
57
  g_direct = isDirect($);
56
58
  if( g_direct == 0 ) {
57
- printf( "graph_%s = GraphViz.graph( \"%s\"", rubyfy($.name), rubyfy($.name) );
59
+ printf( "graph_%s = GraphViz.graph( \"%s\"", rubyfy($.name), stringify($.name) );
58
60
  } else {
59
- printf( "graph_%s = GraphViz.digraph( \"%s\"", rubyfy($.name), rubyfy($.name) );
61
+ printf( "graph_%s = GraphViz.digraph( \"%s\"", rubyfy($.name), stringify($.name) );
60
62
  }
61
63
  // Strict
62
64
  g_strict = isStrict($);
@@ -107,7 +109,7 @@ N {
107
109
  subgraph = nxtsubg( subgraph );
108
110
  }
109
111
 
110
- printf( " node_%s = graph_%s.add_nodes( \"%s\"", rubyfy($.name), rubyfy(ofgraph.name), $.name );
112
+ printf( " node_%s = graph_%s.add_nodes( \"%s\"", rubyfy($.name), rubyfy(ofgraph.name), stringify($.name) );
111
113
 
112
114
  // Attributs of N
113
115
  attr = fstAttr($G, "N");
@@ -136,7 +138,7 @@ E {
136
138
  subgraph = nxtsubg( subgraph );
137
139
  }
138
140
 
139
- printf( " graph_%s.add_edges( \"%s\", \"%s\"", rubyfy(ofgraph.name), $.tail.name, $.head.name );
141
+ printf( " graph_%s.add_edges( \"%s\", \"%s\"", rubyfy(ofgraph.name), stringify($.tail.name), stringify($.head.name) );
140
142
 
141
143
  // Attributs of E
142
144
  attr = fstAttr($G, "E");
@@ -155,11 +157,11 @@ E {
155
157
 
156
158
  END_G {
157
159
  printf( "}\n" );
158
- if( xOut != "_" ) {
159
- if( xOut == "-" ) {
160
- printf( "@_graph_eval = graph_%s\n", rubyfy($.name) );
161
- } else {
162
- printf( "graph_%s.output( :%s => \"%s.%s\" )\n", rubyfy($.name), xOut, gsub($F, ".*/", ""), xOut );
163
- }
164
- }
160
+ if( xOut != "_" ) {
161
+ if( xOut == "-" ) {
162
+ printf( "@_graph_eval = graph_%s\n", rubyfy($.name) );
163
+ } else {
164
+ printf( "graph_%s.output( :%s => \"%s.%s\" )\n", rubyfy($.name), xOut, gsub($F, ".*/", ""), xOut );
165
+ }
166
+ }
165
167
  }
@@ -40,7 +40,7 @@
40
40
  # C => cluster
41
41
  #
42
42
  module Constants
43
- RGV_VERSION = "1.0.5"
43
+ RGV_VERSION = "1.0.6"
44
44
 
45
45
  ## Const: Output formats
46
46
  FORMATS = [
@@ -19,6 +19,9 @@ require 'graphviz'
19
19
  require 'rexml/document'
20
20
 
21
21
  class GraphViz
22
+ class GraphMLError < RuntimeError
23
+ end
24
+
22
25
  class GraphML
23
26
  attr_reader :attributes
24
27
  def attributs
@@ -30,10 +33,14 @@ class GraphViz
30
33
  attr_accessor :graph
31
34
 
32
35
  DEST = {
33
- 'node' => [:nodes],
34
- 'edge' => [:edges],
35
- 'graph' => [:graphs],
36
- 'all' => [:nodes, :edges, :graphs]
36
+ 'node' => [:nodes],
37
+ 'edge' => [:edges],
38
+ 'graph' => [:graphs],
39
+ 'graphml' => [:graphml],
40
+ 'hyperedge' => [:hyperedge],
41
+ 'port' => [:port],
42
+ 'endpoint' => [:endpoint],
43
+ 'all' => [:nodes, :edges, :graphs, :graphml, :hyperedge, :port, :endpoint]
37
44
  }
38
45
 
39
46
  GTYPE = {
@@ -48,8 +55,13 @@ class GraphViz
48
55
  @attributes = {
49
56
  :nodes => {},
50
57
  :edges => {},
51
- :graphs => {}
58
+ :graphs => {},
59
+ :graphml => {},
60
+ :endpoint => {},
61
+ :port => {},
62
+ :hyperedge => {}
52
63
  }
64
+ @ignored_keys = []
53
65
  @graph = nil
54
66
  @current_attr = nil
55
67
  @current_node = nil
@@ -60,22 +72,22 @@ class GraphViz
60
72
  end
61
73
 
62
74
  def parse( node ) #:nodoc:
63
- #begin
64
- send( node.name.to_sym, node )
65
- #rescue NoMethodError => e
66
- # raise "ERROR node #{node.name} can be root"
67
- #end
75
+ send( node.name.to_sym, node )
68
76
  end
69
77
 
70
78
  def graphml( node ) #:nodoc:
71
79
  node.each_element( ) do |child|
72
- #begin
80
+ begin
73
81
  send( "graphml_#{child.name}".to_sym, child )
74
- #rescue NoMethodError => e
75
- # raise "ERROR node #{child.name} can be child of graphml"
76
- #end
82
+ rescue NoMethodError => e
83
+ raise GraphMLError, "node #{child.name} can be child of graphml"
84
+ end
77
85
  end
78
86
  end
87
+
88
+ def graphml_data(node)
89
+ warn "graphml/data not supported!"
90
+ end
79
91
 
80
92
  def graphml_key( node ) #:nodoc:
81
93
  id = node.attributes['id']
@@ -83,15 +95,19 @@ class GraphViz
83
95
  :name => node.attributes['attr.name'],
84
96
  :type => node.attributes['attr.type']
85
97
  }
86
- DEST[node.attributes['for']].each do |d|
87
- @attributes[d][id] = @current_attr
88
- end
89
-
90
- node.each_element( ) do |child|
91
- begin
92
- send( "graphml_key_#{child.name}".to_sym, child )
93
- rescue NoMethodError => e
94
- raise "ERROR node #{child.name} can be child of graphml"
98
+ if @current_attr[:name].nil?
99
+ @ignored_keys << id
100
+ else
101
+ DEST[node.attributes['for']].each do |d|
102
+ @attributes[d][id] = @current_attr
103
+ end
104
+
105
+ node.each_element( ) do |child|
106
+ begin
107
+ send( "graphml_key_#{child.name}".to_sym, child )
108
+ rescue NoMethodError => e
109
+ raise GraphMLError, "node #{child.name} can be child of key"
110
+ end
95
111
  end
96
112
  end
97
113
 
@@ -99,7 +115,7 @@ class GraphViz
99
115
  end
100
116
 
101
117
  def graphml_key_default( node ) #:nodoc:
102
- @current_attr[:default] = node.texts().to_s
118
+ @current_attr[:default] = node.texts().join('\n')
103
119
  end
104
120
 
105
121
  def graphml_graph( node ) #:nodoc:
@@ -115,28 +131,40 @@ class GraphViz
115
131
  end
116
132
 
117
133
  @attributes[:graphs].each do |id, data|
118
- @current_graph.graph[data[:name]] = data[:default] if data.has_key?(:default)
134
+ begin
135
+ @current_graph.graph[data[:name]] = data[:default] if data.has_key?(:default)
136
+ rescue ArgumentError => e
137
+ warn e
138
+ end
119
139
  end
120
140
  @attributes[:nodes].each do |id, data|
121
- @current_graph.node[data[:name]] = data[:default] if data.has_key?(:default)
141
+ begin
142
+ @current_graph.node[data[:name]] = data[:default] if data.has_key?(:default)
143
+ rescue ArgumentError => e
144
+ warn e
145
+ end
122
146
  end
123
147
  @attributes[:edges].each do |id, data|
124
- @current_graph.edge[data[:name]] = data[:default] if data.has_key?(:default)
148
+ begin
149
+ @current_graph.edge[data[:name]] = data[:default] if data.has_key?(:default)
150
+ rescue ArgumentError => e
151
+ warn e
152
+ end
125
153
  end
126
154
 
127
155
  node.each_element( ) do |child|
128
- #begin
129
- send( "graphml_graph_#{child.name}".to_sym, child )
130
- #rescue NoMethodError => e
131
- # raise "ERROR node #{child.name} can be child of graphml"
132
- #end
156
+ send( "graphml_graph_#{child.name}".to_sym, child )
133
157
  end
134
158
 
135
159
  @current_graph = previous_graph
136
160
  end
137
161
 
138
162
  def graphml_graph_data( node ) #:nodoc:
139
- @current_graph[@attributes[:graphs][node.attributes['key']][:name]] = node.texts().to_s
163
+ begin
164
+ @current_graph[@attributes[:graphs][node.attributes['key']][:name]] = node.texts().join('\n')
165
+ rescue ArgumentError => e
166
+ warn e
167
+ end
140
168
  end
141
169
 
142
170
  def graphml_graph_node( node ) #:nodoc:
@@ -150,7 +178,7 @@ class GraphViz
150
178
  begin
151
179
  send( "graphml_graph_node_#{child.name}".to_sym, child )
152
180
  rescue NoMethodError => e
153
- raise "ERROR node #{child.name} can be child of graphml"
181
+ raise GraphMLError, "node #{child.name} can be child of node"
154
182
  end
155
183
  end
156
184
  end
@@ -158,7 +186,11 @@ class GraphViz
158
186
  unless @current_node.nil?
159
187
  node = @current_graph.add_nodes( node.attributes['id'] )
160
188
  @current_node.each do |k, v|
161
- node[k] = v
189
+ begin
190
+ node[k] = v
191
+ rescue ArgumentError => e
192
+ warn e
193
+ end
162
194
  end
163
195
  end
164
196
 
@@ -166,8 +198,12 @@ class GraphViz
166
198
  end
167
199
 
168
200
  def graphml_graph_node_data( node ) #:nodoc:
169
- #@current_node[@attributes[:nodes][node.attributes['key']][:name]] = node.texts().to_s
170
- @current_node[@attributes[:nodes][node.attributes['key']][:name]] = node.texts().join(sep='\n',)
201
+ return if @ignored_keys.include?(node.attributes['key'])
202
+ begin
203
+ @current_node[@attributes[:nodes][node.attributes['key']][:name]] = node.texts().join('\n')
204
+ rescue ArgumentError => e
205
+ warn e
206
+ end
171
207
  end
172
208
 
173
209
  def graphml_graph_node_port( node ) #:nodoc:
@@ -190,18 +226,23 @@ class GraphViz
190
226
  @current_edge = @current_graph.add_edges( source, target )
191
227
 
192
228
  node.each_element( ) do |child|
193
- #begin
229
+ begin
194
230
  send( "graphml_graph_edge_#{child.name}".to_sym, child )
195
- #rescue NoMethodError => e
196
- # raise "ERROR node #{child.name} can be child of graphml"
197
- #end
231
+ rescue NoMethodError => e
232
+ raise GraphMLError, "node #{child.name} can be child of edge"
233
+ end
198
234
  end
199
235
 
200
236
  @current_edge = nil
201
237
  end
202
238
 
203
239
  def graphml_graph_edge_data( node ) #:nodoc:
204
- @current_edge[@attributes[:edges][node.attributes['key']][:name]] = node.texts().to_s
240
+ return if @ignored_keys.include?(node.attributes['key'])
241
+ begin
242
+ @current_edge[@attributes[:edges][node.attributes['key']][:name]] = node.texts().join('\n')
243
+ rescue ArgumentError => e
244
+ warn e
245
+ end
205
246
  end
206
247
 
207
248
  def graphml_graph_hyperedge( node ) #:nodoc:
@@ -8,7 +8,14 @@
8
8
  # testing, lots of gradients)
9
9
 
10
10
  require 'rubygems'
11
- require 'xml/xslt'
11
+ begin
12
+ require 'xml/xslt'
13
+ XSLT_METHOD = :xml_xslt_transform
14
+ rescue LoadError => e
15
+ require 'libxml'
16
+ require 'libxslt'
17
+ XSLT_METHOD = :libxslt_transform
18
+ end
12
19
 
13
20
  class GraphViz
14
21
  # Transform to pretty up the SVG output
@@ -24,11 +31,8 @@ class GraphViz
24
31
  #
25
32
  # GraphViz.nothugly( "myGraph.svg" )
26
33
  def self.nothugly( file, save = true )
27
- xslt = XML::XSLT.new()
28
- xslt.xml = file
29
- xslt.xsl = File.join( File.dirname(File.expand_path(__FILE__)), "nothugly", "nothugly.xsl" )
30
-
31
- out = xslt.serve()
34
+ xsl = File.join( File.dirname(File.expand_path(__FILE__)), "nothugly", "nothugly.xsl" )
35
+ out = self.send(XSLT_METHOD, file, xsl)
32
36
 
33
37
  if save
34
38
  fname = File.join( File.dirname(File.expand_path(file)), File.basename(file))
@@ -39,4 +43,21 @@ class GraphViz
39
43
  return out
40
44
  end
41
45
  end
42
- end
46
+
47
+ def self.xml_xslt_transform(xml, xsl)
48
+ xslt = XML::XSLT.new()
49
+ xslt.xml = xml
50
+ xslt.xsl = xsl
51
+ xslt.serve()
52
+ end
53
+
54
+ def self.libxslt_transform(xml, xsl)
55
+ LibXML::XML.default_load_external_dtd = false
56
+ LibXML::XML.default_substitute_entities = false
57
+
58
+ stylesheet_doc = LibXML::XML::Document.file(xsl)
59
+ stylesheet = LibXSLT::XSLT::Stylesheet.new(stylesheet_doc)
60
+ xml_doc = LibXML::XML::Document.file(xml)
61
+ stylesheet.apply(xml_doc).to_s
62
+ end
63
+ end
@@ -24,21 +24,21 @@ class GraphViz
24
24
  if g.is_a?(Fixnum)
25
25
  g = g.to_s.convert_base(10, 16)
26
26
  end
27
- unless g.is_a?(String) and HEX_FOR_COLOR.match(r)
27
+ unless g.is_a?(String) and HEX_FOR_COLOR.match(g)
28
28
  raise ColorException, "Bad green value"
29
29
  end
30
30
 
31
31
  if b.is_a?(Fixnum)
32
32
  b = b.to_s.convert_base(10, 16)
33
33
  end
34
- unless b.is_a?(String) and HEX_FOR_COLOR.match(r)
34
+ unless b.is_a?(String) and HEX_FOR_COLOR.match(b)
35
35
  raise ColorException, "Bad blue value"
36
36
  end
37
37
 
38
38
  if a.is_a?(Fixnum)
39
39
  a = a.to_s.convert_base(10, 16)
40
40
  end
41
- unless a.nil? or (a.is_a?(String) and HEX_FOR_COLOR.match(r))
41
+ unless a.nil? or (a.is_a?(String) and HEX_FOR_COLOR.match(a))
42
42
  raise ColorException, "Bad alpha value"
43
43
  end
44
44
 
data/lib/graphviz.rb CHANGED
@@ -550,7 +550,7 @@ class GraphViz
550
550
  require 'graphviz/nothugly'
551
551
  @nothugly = true
552
552
  rescue LoadError => e
553
- warn "You must install ruby-xslt to use nothugly option!"
553
+ warn "You must install ruby-xslt or libxslt-ruby to use nothugly option!"
554
554
  @nothugly = false
555
555
  end
556
556
  else
@@ -975,7 +975,7 @@ class GraphViz
975
975
 
976
976
  if (options[:force] or str.match( /\A[a-zA-Z_]+[a-zA-Z0-9_]*\Z/ ).nil?)
977
977
  unless options[:unquote_empty] == true and str.size == 0
978
- '"' + str.gsub('"', '\\"').gsub("\n", '\\\\n').gsub(".","\\.") + '"'
978
+ '"' + str.gsub('"', '\\"').gsub("\n", '\\\\n') + '"'
979
979
  end
980
980
  else
981
981
  str
@@ -0,0 +1 @@
1
+ require 'graphviz'
metadata CHANGED
@@ -1,80 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ruby-graphviz
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.6
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 5
10
- version: 1.0.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Gregoire Lejeune
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-02-06 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-07-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rake
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: gems
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
38
25
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: gems
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: rdoc
50
39
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
52
41
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rdoc
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
60
54
  type: :development
61
- version_requirements: *id003
62
- description: Ruby/Graphviz provides an interface to layout and generate images of directed graphs in a variety of formats (PostScript, PNG, etc.) using GraphViz.
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Ruby/Graphviz provides an interface to layout and generate images of
63
+ directed graphs in a variety of formats (PostScript, PNG, etc.) using GraphViz.
63
64
  email: gregoire.lejeune@free.fr
64
- executables:
65
+ executables:
65
66
  - dot2ruby
66
67
  - gem2gv
67
68
  - git2gv
68
69
  - ruby2gv
69
70
  - xml2gv
70
71
  extensions: []
71
-
72
- extra_rdoc_files:
72
+ extra_rdoc_files:
73
73
  - README.rdoc
74
74
  - COPYING.rdoc
75
75
  - AUTHORS.rdoc
76
76
  - CHANGELOG.rdoc
77
- files:
77
+ files:
78
78
  - .gemrc
79
79
  - .gitignore
80
80
  - .travis.yml
@@ -113,11 +113,14 @@ files:
113
113
  - examples/graphml/attributes.ext.graphml
114
114
  - examples/graphml/attributes.graphml
115
115
  - examples/graphml/cluster.graphml
116
+ - examples/graphml/failed_graph.graphml
116
117
  - examples/graphml/hyper.graphml
117
118
  - examples/graphml/nested.graphml
118
119
  - examples/graphml/port.graphml
119
120
  - examples/graphml/simple.graphml
120
121
  - examples/hello.png
122
+ - examples/rgv/rgv.ps
123
+ - examples/rgv/test_rgv.rb
121
124
  - examples/sample01.rb
122
125
  - examples/sample02.rb
123
126
  - examples/sample03.rb
@@ -229,6 +232,7 @@ files:
229
232
  - lib/graphviz/utils.rb
230
233
  - lib/graphviz/utils/colors.rb
231
234
  - lib/graphviz/xml.rb
235
+ - lib/ruby-graphviz.rb
232
236
  - ruby-graphviz.gemspec
233
237
  - setup.rb
234
238
  - test/support.rb
@@ -240,54 +244,42 @@ files:
240
244
  - test/test_utils_colors.rb
241
245
  homepage: http://github.com/glejeune/Ruby-Graphviz
242
246
  licenses: []
243
-
244
- post_install_message: "\n\
245
- Since version 0.9.2, Ruby/GraphViz can use Open3.popen3 (or not)\n\
246
- On Windows, you can install 'win32-open3'\n\n\
247
- You need to install GraphViz (http://graphviz.org/) to use this Gem.\n\n\
248
- For more information about Ruby-Graphviz :\n\
249
- * Doc : http://rdoc.info/projects/glejeune/Ruby-Graphviz\n\
250
- * Sources : http://github.com/glejeune/Ruby-Graphviz\n\
251
- * NEW - Mailing List : http://groups.google.com/group/ruby-graphviz\n\n\
252
- Last (important) changes :\n\
253
- * GraphViz#add_edge is deprecated, use GraphViz#add_edges\n\
254
- * GraphViz#add_node is deprecated, use GraphViz#add_nodes\n\
255
- * GraphViz::Edge#each_attribut is deprecated, use GraphViz::Edge#each_attribute\n\
256
- * GraphViz::GraphML#attributs is deprecated, use GraphViz::GraphML#attributes\n\
257
- * GraphViz::Node#each_attribut is deprecated, use GraphViz::Node#each_attribute\n "
258
- rdoc_options:
247
+ post_install_message: ! "\nSince version 0.9.2, Ruby/GraphViz can use Open3.popen3
248
+ (or not)\nOn Windows, you can install 'win32-open3'\n\nYou need to install GraphViz
249
+ (http://graphviz.org/) to use this Gem.\n\nFor more information about Ruby-Graphviz
250
+ :\n* Doc : http://rdoc.info/projects/glejeune/Ruby-Graphviz\n* Sources : http://github.com/glejeune/Ruby-Graphviz\n*
251
+ NEW - Mailing List : http://groups.google.com/group/ruby-graphviz\n\nLast (important)
252
+ changes :\n* GraphViz#add_edge is deprecated, use GraphViz#add_edges\n* GraphViz#add_node
253
+ is deprecated, use GraphViz#add_nodes\n* GraphViz::Edge#each_attribut is deprecated,
254
+ use GraphViz::Edge#each_attribute\n* GraphViz::GraphML#attributs is deprecated,
255
+ use GraphViz::GraphML#attributes\n* GraphViz::Node#each_attribut is deprecated,
256
+ use GraphViz::Node#each_attribute\n "
257
+ rdoc_options:
259
258
  - --title
260
259
  - Ruby/GraphViz
261
260
  - --main
262
261
  - README.rdoc
263
- require_paths:
262
+ require_paths:
264
263
  - lib
265
- required_ruby_version: !ruby/object:Gem::Requirement
264
+ required_ruby_version: !ruby/object:Gem::Requirement
266
265
  none: false
267
- requirements:
268
- - - ">="
269
- - !ruby/object:Gem::Version
270
- hash: 3
271
- segments:
272
- - 0
273
- version: "0"
274
- required_rubygems_version: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ required_rubygems_version: !ruby/object:Gem::Requirement
275
271
  none: false
276
- requirements:
277
- - - ">="
278
- - !ruby/object:Gem::Version
279
- hash: 3
280
- segments:
281
- - 0
282
- version: "0"
272
+ requirements:
273
+ - - ! '>='
274
+ - !ruby/object:Gem::Version
275
+ version: '0'
283
276
  requirements: []
284
-
285
277
  rubyforge_project: ruby-asp
286
- rubygems_version: 1.8.11
278
+ rubygems_version: 1.8.24
287
279
  signing_key:
288
280
  specification_version: 3
289
281
  summary: Interface to the GraphViz graphing tool
290
- test_files:
282
+ test_files:
291
283
  - test/support.rb
292
284
  - test/test_examples.rb
293
285
  - test/test_graph.rb