X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=lib%2Fgraph.njae%2Fvertex.rb;h=def0b66d79a81ff2b0348655d1459cab1720aefe;hb=refs%2Fheads%2Fdot;hp=6e46dcb40029aef8ceca16ad5c5ea2fc5a789c46;hpb=95b8572d01c0b9c3aa8fc5a1e85a045c33d4ecf1;p=graph.njae.git

diff --git a/lib/graph.njae/vertex.rb b/lib/graph.njae/vertex.rb
index 6e46dcb..def0b66 100644
--- a/lib/graph.njae/vertex.rb
+++ b/lib/graph.njae/vertex.rb
@@ -1,5 +1,3 @@
-require 'ostruct'
-
 # A simple graph library
 
 module GraphNjae
@@ -40,7 +38,23 @@ module GraphNjae
     end
     
     def to_s
-      '<V: ' + self.name + '>'
+      '<V: ' + self.name.to_s + '>'
+    end
+    
+    def to_dot(opts = {})
+      if block_given?
+        yield self
+      else
+        dot = self.object_id.to_s
+        if opts.size > 0
+          dot << ' {'
+          dot << opts.keys.map { |k|
+            (k.to_s + ' = "' + self.instance_eval(opts[k].to_s).to_s) + '"'
+                        }.join(', ')
+          dot << '}'
+        end
+        dot << ';'
+      end
     end
     
   end