End of the day
[graph.njae.git] / lib / graph.njae / edge.rb
index 4a1ba790d4f33570f53525cbd3f3c23660135240..f3efc91eec9157301ece98c735663d2c94f0d1c8 100644 (file)
@@ -34,6 +34,20 @@ module GraphNjae
     def connection_at(vertex)
       self.connections.find {|c| c.end.equal?  vertex}
     end
+    
+    # Return the vertex at the other end of the one given.
+    # Self-loops should still return the vertex
+    def other_end(vertex)
+      if self.vertices[0] == vertex
+        self.vertices[1]
+      else
+        self.vertices[0]
+      end
+    end
+    
+    def to_s
+      '<E: ' + self.type.to_s + ' [' + self.vertices.map {|n| n.to_s}.join(', ') + '] >'
+    end
   end
   
   # A connection between an Edge and a Vertex.The connection can have arbitrary attributes,