class Sinatra::Base

def route!(base=self.class, pass_block=nil)

Run routes defined on the class and all superclasses.
def route!(base=self.class, pass_block=nil)
  if routes = base.routes[@request.request_method]
    routes.each do |pattern, keys, conditions, block|
      pass_block = process_route(pattern, keys, conditions) do
        route_eval(&block)
      end
    end
  end
  # Run routes defined in superclass.
  if base.superclass.respond_to?(:routes)
    return route!(base.superclass, pass_block)
  end
  route_eval(&pass_block) if pass_block
  route_missing
end