# File lib/puppet/resource/catalog.rb, line 69
69:     def add_resource(*resources)
70:         resources.each do |resource|
71:             unless resource.respond_to?(:ref)
72:                 raise ArgumentError, "Can only add objects that respond to :ref, not instances of %s" % resource.class
73:             end
74:         end.each { |resource| fail_unless_unique(resource) }.each do |resource|
75:             ref = resource.ref
76: 
77:             @transient_resources << resource if applying?
78:             @resource_table[ref] = resource
79: 
80:             # If the name and title differ, set up an alias
81:             #self.alias(resource, resource.name) if resource.respond_to?(:name) and resource.respond_to?(:title) and resource.name != resource.title
82:             if resource.respond_to?(:name) and resource.respond_to?(:title) and resource.name != resource.title
83:                 self.alias(resource, resource.name) if resource.isomorphic?
84:             end
85: 
86:             resource.catalog = self if resource.respond_to?(:catalog=)
87: 
88:             add_vertex(resource)
89: 
90:             if @relationship_graph
91:                 @relationship_graph.add_vertex(resource)
92:             end
93: 
94:             yield(resource) if block_given?
95:         end
96:     end