# File lib/puppet/simple_graph.rb, line 247
247:     def add_edge(source, target = nil, label = nil)
248:         @reversal = nil
249:         if target
250:             edge = Puppet::Relationship.new(source, target, label)
251:         else
252:             edge = source
253:         end
254:         [edge.source, edge.target].each { |vertex| setup_vertex(vertex) unless vertex?(vertex) }
255:         @vertices[edge.source].add_edge :out, edge
256:         @vertices[edge.target].add_edge :in, edge
257:         @edges << edge
258:         true
259:     end