Class: RGL::DOT::Edge
Overview
This is an undirected edge representation.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#from ⇒ Object
A node or subgraph reference or instance to be used as the starting point for an edge.
-
#to ⇒ Object
A node or subgraph reference or instance to be used as the ending point for an edge.
Instance Method Summary collapse
-
#initialize(params = {}, option_list = EDGE_OPTS+EDGE_OPTS_LGCY) ⇒ Edge
constructor
Creates a new Edge with the params Hash providing settings for all edge options.
-
#to_s(leader = '', indent = ' ') ⇒ Object
Returns a string representation of this edge which is consumable by the graphviz tools
dot
andneato
.
Constructor Details
#initialize(params = {}, option_list = EDGE_OPTS+EDGE_OPTS_LGCY) ⇒ Edge
Creates a new Edge with the params Hash providing settings for all edge options. The option_list parameter restricts those options to the list of valid names it contains.
481 482 483 484 485 |
# File 'lib/rgl/rdot.rb', line 481 def initialize(params = {}, option_list = EDGE_OPTS+EDGE_OPTS_LGCY) super(params, option_list) @from = params['from'] ? params['from'] : nil @to = params['to'] ? params['to'] : nil end |
Instance Attribute Details
#from ⇒ Object
A node or subgraph reference or instance to be used as the starting point for an edge.
471 472 473 |
# File 'lib/rgl/rdot.rb', line 471 def from @from end |
#to ⇒ Object
A node or subgraph reference or instance to be used as the ending point for an edge.
475 476 477 |
# File 'lib/rgl/rdot.rb', line 475 def to @to end |
Instance Method Details
#to_s(leader = '', indent = ' ') ⇒ Object
Returns a string representation of this edge which is consumable by the graphviz tools dot
and neato
. The leader parameter is used to indent every line of the returned string, and the indent parameter is used to additionally indent nested items.
492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 |
# File 'lib/rgl/rdot.rb', line 492 def to_s(leader = '', indent = ' ') = @options.collect do |name, val| unless val.nil? leader + indent + "#{quote_ID(name)} = #{quote_ID(val)}" end end.compact.join(",\n") f_s = @from || '' t_s = @to || '' if .empty? leader + quote_ID(f_s) + ' ' + edge_link + ' ' + quote_ID(t_s) else leader + quote_ID(f_s) + ' ' + edge_link + ' ' + quote_ID(t_s) + " [\n" + + "\n" + leader + "]" end end |