Sinatra-style route matching