class DOT::DOTNode

node element

Public Class Methods

new(params = {}, option_list = NODE_OPTS) click to toggle source
Calls superclass method DOT::DOTElement::new
    # File lib/puppet/external/dot.rb
185 def initialize(params = {}, option_list = NODE_OPTS)
186   super(params, option_list)
187   @ports = params['ports'] ? params['ports'] : []
188 end

Public Instance Methods

<<(thing) click to toggle source
    # File lib/puppet/external/dot.rb
194 def <<(thing)
195   @ports << thing
196 end
each_port() { |i| ... } click to toggle source
    # File lib/puppet/external/dot.rb
190 def each_port
191   @ports.each { |i| yield i }
192 end
pop() click to toggle source
    # File lib/puppet/external/dot.rb
202 def pop
203   @ports.pop
204 end
push(thing) click to toggle source
    # File lib/puppet/external/dot.rb
198 def push(thing)
199   @ports.push(thing)
200 end
to_s(t = '') click to toggle source
    # File lib/puppet/external/dot.rb
206 def to_s(t = '')
207 
208   # This code is totally incomprehensible; it needs to be replaced!
209 
210   label = @options['shape'] != 'record' && @ports.length == 0 ?
211       @options['label'] ?
212         t + $tab + "label = #{stringify(@options['label'])}\n" :
213         '' :
214       t + $tab + 'label = "' + " \\\n" +
215       t + $tab2 + "#{stringify(@options['label'])}| \\\n" +
216       @ports.collect{ |i|
217         t + $tab2 + i.to_s
218       }.join( "| \\\n" ) + " \\\n" +
219       t + $tab + '"' + "\n"
220 
221     t + "#{@name} [\n" +
222     @options.to_a.collect{ |i|
223       i[1] && i[0] != 'label' ?
224         t + $tab + "#{i[0]} = #{i[1]}" : nil
225     }.compact.join( ",\n" ) + ( label != '' ? ",\n" : "\n" ) +
226     label +
227     t + "]\n"
228 end

Private Instance Methods

stringify(s) click to toggle source
    # File lib/puppet/external/dot.rb
232 def stringify(s)
233   %("#{s.gsub('"', '\\"')}")
234 end