get ‘/’とかpost ‘/message’ とかDSLで登録したものをroutesという。
Sinatra::Base#routesにHashがあって、これを直接のぞける。
logoutとかloginとか、すでにrouteとして登録されている名前でユーザ名を作れないようにするとかに使えると思う。
リクエストメソッドをkeyとしたhashの子要素に配列の配列があって、1つ目の要素がパスにマッチするかどうか判定する正規表現。
{"GET"=>[[/^\/cometio\/cometio(?:\.|%2E)js$/, [], [], #<Proc:0x007fbd5cab8d78@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>], [/^\/cometio\/io$/, [], [], #<Proc:0x007fbd5cab6d98@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>], [/^\/websocketio\/websocketio(?:\.|%2E)js$/, [], [], #<Proc:0x007fbd5a1d8598@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>]], "HEAD"=>[[/^\/cometio\/cometio(?:\.|%2E)js$/, [], [], #<Proc:0x007fbd5cab7608@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>], [/^\/cometio\/io$/, [], [], #<Proc:0x007fbd5cab6500@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>], [/^\/websocketio\/websocketio(?:\.|%2E)js$/, [], [], #<Proc:0x007fbd5a227a80@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>]], "POST"=>[[/^\/cometio\/io$/, [], [], #<Proc:0x007fbd5cab5d80@/Users/sho/.rvm/gems/ruby-1.9.2-p318/gems/sinatra-1.3.6/lib/sinatra/base.rb:1293>]]}
たとえば /cometio/cometio.js を削除するなら
Sinatra::Application.routes["GET"].delete_if{|route|
"/cometio/cometio.js" =~ route[0]
}