Class DOT::DOTSubgraph
In: lib/puppet/external/dot.rb
Parent: DOTElement

A subgraph element is the same to graph, but has another header in dot notation.

Methods

<<   each_node   new   pop   push   to_s  

Public Class methods

[Source]

     # File lib/puppet/external/dot.rb, line 242
242:     def initialize (params = {}, option_list = GRAPH_OPTS)
243:       super(params, option_list)
244:       @nodes      = params['nodes'] ? params['nodes'] : []
245:       @dot_string = 'graph'
246:     end

Public Instance methods

[Source]

     # File lib/puppet/external/dot.rb, line 252
252:     def << (thing)
253:       @nodes << thing
254:     end

[Source]

     # File lib/puppet/external/dot.rb, line 248
248:     def each_node
249:       @nodes.each{ |i| yield i }
250:     end

[Source]

     # File lib/puppet/external/dot.rb, line 260
260:     def pop
261:       @nodes.pop
262:     end

[Source]

     # File lib/puppet/external/dot.rb, line 256
256:     def push (thing)
257:       @nodes.push( thing )
258:     end

[Source]

     # File lib/puppet/external/dot.rb, line 264
264:     def to_s (t = '')
265:       hdr = t + "#{@dot_string} #{@name} {\n"
266: 
267:       options = @options.to_a.collect{ |name, val|
268:         val && name != 'label' ? 
269:           t + $tab + "#{name} = #{val}" : 
270:           name ? t + $tab + "#{name} = \"#{val}\"" : nil
271:       }.compact.join( "\n" ) + "\n"
272: 
273:       nodes = @nodes.collect{ |i|
274:         i.to_s( t + $tab )
275:       }.join( "\n" ) + "\n" 
276:       hdr + options + nodes + t + "}\n"
277:     end

[Validate]