# File lib/puppet/resource/catalog.rb, line 428
428:     def self.edge_from_pson(result, edge)
429:         # If no type information was presented, we manually find
430:         # the class.
431:         edge = Puppet::Relationship.from_pson(edge) if edge.is_a?(Hash)
432:         unless source = result.resource(edge.source)
433:             raise ArgumentError, "Could not convert from pson: Could not find relationship source '%s'" % source
434:         end
435:         edge.source = source
436: 
437:         unless target = result.resource(edge.target)
438:             raise ArgumentError, "Could not convert from pson: Could not find relationship target '%s'" % target
439:         end
440:         edge.target = target
441: 
442:         result.add_edge(edge)
443:     end