class Graph::Node

Nodes in the graph.

Public Class Methods

new(graph, name) click to toggle source

Create a new Node. Takes a parent graph and a name.

Calls superclass method
# File lib/graph.rb, line 624
def initialize graph, name
  super graph
  self.name = name
end

Public Instance Methods

>>(name) click to toggle source

Create a new node with name and an edge between them pointing from self to the new node.

# File lib/graph.rb, line 633
def >> name
  self[name] # creates node and edge
  self
end
[](dep_name) click to toggle source

Returns the edge between self and dep_name.

# File lib/graph.rb, line 643
def [] dep_name
  graph.edges[name][dep_name]
end
connected?() click to toggle source

Is this node connected to the graph?

# File lib/graph.rb, line 608
def connected?
  edges = graph.edges

  edges.include?(name) or edges.any? { |from, deps| deps.include? name }
end
orphan?() click to toggle source

Is this node an orphan? (ie, not connected?)

# File lib/graph.rb, line 617
def orphan?
  not connected?
end
to_s() click to toggle source

Returns the node in dot syntax.

# File lib/graph.rb, line 650
def to_s
  if self.attributes? then
    "%-20p [ %-20s ]" % [name, attributes.join(',')]
  else
    "#{name.inspect}"
  end
end