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