# File lib/puppet/resource/catalog.rb, line 422
422:   def self.edge_from_pson(result, edge)
423:     # If no type information was presented, we manually find
424:     # the class.
425:     edge = Puppet::Relationship.from_pson(edge) if edge.is_a?(Hash)
426:     unless source = result.resource(edge.source)
427:       raise ArgumentError, "Could not convert from pson: Could not find relationship source #{edge.source.inspect}"
428:     end
429:     edge.source = source
430: 
431:     unless target = result.resource(edge.target)
432:       raise ArgumentError, "Could not convert from pson: Could not find relationship target #{edge.target.inspect}"
433:     end
434:     edge.target = target
435: 
436:     result.add_edge(edge)
437:   end