def context(path, &block)
      ctx = RouteContext.new(self, path)
      # @todo Is there a better way to keep ordering of routes?
      # An alternative would be to enter each route in a context only once
      # (with 'prefix' based on containing contexts).
      # On the other hand, we're only doing that when compiling routes, further
      # processing is faster this way.
      ctx.instance_eval(&block)
      ctx.methods_used.each do |meth|
        add_route!(meth, ctx)
      end
    end
def context(path, &block)
      ctx = RouteContext.new(self, path)
      # @todo Is there a better way to keep ordering of routes?
      # An alternative would be to enter each route in a context only once
      # (with 'prefix' based on containing contexts).
      # On the other hand, we're only doing that when compiling routes, further
      # processing is faster this way.
      ctx.instance_eval(&block)
      ctx.methods_used.each do |meth|
        add_route!(meth, ctx)
      end
    end
Create a context for route nesting.

   @param path [String, Regexp, Matcher] any path specification which can
          be consumed by {Matcher.compile}
   @param block the route handler
   @yield to the given block

 @example A simple context
   context '/foo' do
     get '/bar' do
     end
   end