class Sinatra::Base

def route(verb, path, options={}, &block)

def route(verb, path, options={}, &block)
  # Because of self.options.host
  host_name(options.delete(:host)) if options.key?(:host)
  options.each { |option, args| send(option, *args) }
  block, pattern, keys, conditions = compile! verb, path, block
  invoke_hook(:route_added, verb, path, block)
  (@routes[verb] ||= []).
    push([pattern, keys, conditions, block]).last
end