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
184 def initialize(params = {}, option_list = NODE_OPTS)
185   super(params, option_list)
186   @ports = params['ports'] ? params['ports'] : []
187 end

Public Instance Methods

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

Private Instance Methods

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