# File lib/puppet/util/rdoc/parser.rb, line 199
199:   def scan_for_resource(container, code)
200:     code = [code] unless code.is_a?(Array)
201:     code.each do |stmt|
202:       scan_for_resource(container,stmt.children) if stmt.is_a?(Puppet::Parser::AST::ASTArray)
203: 
204:       if stmt.is_a?(Puppet::Parser::AST::Resource) and !stmt.type.nil?
205:         begin
206:           type = stmt.type.split("::").collect { |s| s.capitalize }.join("::")
207:           title = stmt.title.is_a?(Puppet::Parser::AST::ASTArray) ? stmt.title.to_s.gsub(/\[(.*)\]/,'\1') : stmt.title.to_s
208:           Puppet.debug "rdoc: found resource: #{type}[#{title}]"
209: 
210:           param = []
211:           stmt.parameters.children.each do |p|
212:             res = {}
213:             res["name"] = p.param
214:             res["value"] = "#{p.value.to_s}" unless p.value.nil?
215: 
216:             param << res
217:           end
218: 
219:           container.add_resource(PuppetResource.new(type, title, stmt.doc, param))
220:         rescue => detail
221:           raise Puppet::ParseError, "impossible to parse resource in #{stmt.file} at line #{stmt.line}: #{detail}"
222:         end
223:       end
224:     end
225:   end