# File lib/puppet/simple_graph.rb, line 394
394:   def to_dot_graph (params = {})
395:     params['name'] ||= self.class.name.gsub(/:/,'_')
396:     fontsize   = params['fontsize'] ? params['fontsize'] : '8'
397:     graph      = (directed? ? DOT::DOTDigraph : DOT::DOTSubgraph).new(params)
398:     edge_klass = directed? ? DOT::DOTDirectedEdge : DOT::DOTEdge
399:     vertices.each do |v|
400:       name = v.to_s
401:       params = {'name'     => '"'+name+'"',
402:         'fontsize' => fontsize,
403:         'label'    => name}
404:       v_label = v.to_s
405:       params.merge!(v_label) if v_label and v_label.kind_of? Hash
406:       graph << DOT::DOTNode.new(params)
407:     end
408:     edges.each do |e|
409:       params = {'from'     => '"'+ e.source.to_s + '"',
410:         'to'       => '"'+ e.target.to_s + '"',
411:         'fontsize' => fontsize }
412:       e_label = e.to_s
413:       params.merge!(e_label) if e_label and e_label.kind_of? Hash
414:       graph << edge_klass.new(params)
415:     end
416:     graph
417:   end