Regenerate gemspec for version 0.3.0
[graph.njae.git] / lib / graph.njae / vertex.rb
index 4a75b6df2c628c0cba8a25fead7aff670a1c1563..6e46dcb40029aef8ceca16ad5c5ea2fc5a789c46 100644 (file)
@@ -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
+      '<V: ' + self.name + '>'
+    end
+    
   end
 end