Class DOT::DOTNode
In: rdoc/dot/dot.rb
Parent: DOTElement

node element

Methods

<<   each_port   new   pop   push   to_s  

Public Class methods

[Source]

# File rdoc/dot/dot.rb, line 140
        def initialize( params = {}, option_list = NODE_OPTS )
            super( params, option_list )
            @ports = params['ports'] ? params['ports'] : []
        end

Public Instance methods

[Source]

# File rdoc/dot/dot.rb, line 149
        def << ( thing )
            @ports << thing
        end

[Source]

# File rdoc/dot/dot.rb, line 145
        def each_port
            @ports.each{ |i| yield i }
        end

[Source]

# File rdoc/dot/dot.rb, line 157
        def pop
            @ports.pop
        end

[Source]

# File rdoc/dot/dot.rb, line 153
        def push ( thing )
            @ports.push( thing )
        end

[Source]

# File rdoc/dot/dot.rb, line 161
        def to_s( t = '' )

            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

[Validate]