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