# File lib/puppet/dsl.rb, line 224
224:         def newresource(type, name, params = {})
225:             if self.is_a?(Puppet::DSL::Aspect)
226:                 source = self
227:             else
228:                 source = Puppet::DSL::Aspect[:main]
229:             end
230:             unless obj = @@objects[type][name]
231:                 obj = Resource.new :title => name, :type => type.name,
232:                     :source => source, :scope => scope
233:                 @@objects[type][name] = obj
234: 
235:                 @resources << obj
236:             end
237: 
238:             params.each do |name, value|
239:                 param = Resource::Param.new(
240:                     :name => name,
241:                     :value => value,
242:                     :source => source
243:                 )
244: 
245:                 obj.send(:set_parameter, param)
246:             end
247: 
248:             obj
249:         end