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 - '' + '' + 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