class RubyGraphWalker::Vertex

Attributes

edges[RW]
name[RW]
trait[RW]
visited[RW]
weight[RW]
zindex[RW]

Public Class Methods

new(args = {}) click to toggle source
# File lib/graph.rb, line 7
def initialize(args = {})
  [:name, :edges, :trait].each { |key| raise "#{key} is not defined for Vertex #{args}" unless args[key] }
  @name = args[:name]
  @weight = args[:weight] || 1
  @trait = args[:trait]
  @visited = args[:visited] || false
  @weight = args[:zindex] || 0
  @edges = []

  args[:edges].each do |edge|
    e = Edge.new(edge)
    e.from = @name
    e.to = edge[:to]
    add_edge(e)
  end
end

Private Instance Methods

add_edge(e) click to toggle source
# File lib/graph.rb, line 25
def add_edge(e)
  @edges << e
end