# File lib/merb-core/dispatch/router/behavior.rb, line 460
      def resource(name, options = {})
        namespace  = options[:namespace] || merged_params[:namespace]

        next_level = match "/#{name}"

        options[:controller] ||= merged_params[:controller] || name.to_s

        # Do not pass :name_prefix option on to to_resource
        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