def resource(name, options = {})
namespace = options[:namespace] || merged_params[:namespace]
next_level = match "/#{name}"
options[:controller] ||= merged_params[:controller] || name.to_s
name_prefix = options.delete :name_prefix
if name_prefix.nil? && !namespace.nil?
name_prefix = namespace_to_name_prefix namespace
end
unless @@parent_resource.empty?
parent_resource = namespace_to_name_prefix @@parent_resource.join('_')
end
routes = next_level.to_resource options
route_name = "#{name_prefix}#{name}"
next_level.match('').to_route.name("#{route_name}""#{route_name}")
next_level.match('/new').to_route.name("new_#{route_name}""new_#{route_name}")
next_level.match('/edit').to_route.name("edit_#{route_name}""edit_#{route_name}")
next_level.match('/delete').to_route.name("delete_#{route_name}""delete_#{route_name}")
if block_given?
@@parent_resource.push(route_name)
yield next_level
@@parent_resource.pop
end
routes
end