# File lib/puppet/rails/host.rb, line 217
217:     def build_rails_resource_from_parser_resource(resource)
218:         db_resource = nil
219:         accumulate_benchmark("Added resources", :initialization) {
220:             args = Puppet::Rails::Resource.rails_resource_initial_args(resource)
221: 
222:             db_resource = self.resources.build(args)
223: 
224:             # Our file= method does the name to id conversion.
225:             db_resource.file = resource.file
226:         }
227: 
228: 
229:         accumulate_benchmark("Added resources", :parameters) {
230:             resource.each do |param, value|
231:                 Puppet::Rails::ParamValue.from_parser_param(param, value).each do |value_hash|
232:                     db_resource.param_values.build(value_hash)
233:                 end
234:             end
235:         }
236: 
237:         accumulate_benchmark("Added resources", :tags) {
238:             resource.tags.each { |tag| db_resource.add_resource_tag(tag) }
239:         }
240: 
241:         db_resource.save
242: 
243:         return db_resource
244:     end