X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=lib%2Fgraph.njae%2Fvertex.rb;h=6e46dcb40029aef8ceca16ad5c5ea2fc5a789c46;hb=d4db3d438f46458a36219a3fb5c514e81411bd3d;hp=4a75b6df2c628c0cba8a25fead7aff670a1c1563;hpb=5d4c8249cc22f7fc6f784def527fb72535f61581;p=graph.njae.git diff --git a/lib/graph.njae/vertex.rb b/lib/graph.njae/vertex.rb index 4a75b6d..6e46dcb 100644 --- a/lib/graph.njae/vertex.rb +++ b/lib/graph.njae/vertex.rb @@ -6,19 +6,19 @@ module GraphNjae # A vertex in a graph. The edge can have arbitrary attributes,treated as # method names. class Vertex < OpenStruct - def initialize - super + def initialize(values = {}) + super(values) self.edges = [] self end # Connect this vertex to another, creating an Edge to do so, and returning # the Edge - def connect(other) - e = Edge.new + def connect(other, edge_attributes = {}) + e = Edge.new edge_attributes e << self << other - self.edges << e - other.edges << e unless self === other + # self.edges << e + # other.edges << e unless self === other e end @@ -39,5 +39,9 @@ module GraphNjae e.vertices.drop_while {|v| v != self}[1..-1]}.flatten end + def to_s + '' + end + end end