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

### Public Instance Methods

<<(thing) click to toggle source

    # File lib/puppet/external/dot.rb, line 196
    def << (thing)
      @ports << thing
    end

each_port() { |i| ... } click to toggle source

    # File lib/puppet/external/dot.rb, line 192
    def each_port
      @ports.each { |i| yield i }
    end

pop() click to toggle source

    # File lib/puppet/external/dot.rb, line 204
    def pop
      @ports.pop
    end

push(thing) click to toggle source

    # File lib/puppet/external/dot.rb, line 200
    def push (thing)
      @ports.push(thing)
    end

to_s(t = '') click to toggle source

    # File lib/puppet/external/dot.rb, line 208
    def to_s (t = '')

      # This code is totally incomprehensible; it needs to be replaced!

      label = @options['shape'] != 'record' && @ports.length == 0 ?
          @options['label'] ?
            t + $tab + "label = \"#{@options['label']}\"\n" :
            '' :
          t + $tab + 'label = "' + " \\\n" +
          t + $tab2 + "#{@options['label']}| \\\n" +
          @ports.collect{ |i|
            t + $tab2 + i.to_s
          }.join( "| \\\n" ) + " \\\n" +
          t + $tab + '"' + "\n"

        t + "#{@name} [\n" +
        @options.to_a.collect{ |i|
          i[1] && i[0] != 'label' ?
            t + $tab + "#{i[0]} = #{i[1]}" : nil
        }.compact.join( ",\n" ) + ( label != '' ? ",\n" : "\n" ) +
        label +
        t + "]\n"
    end