WEBrickでCGIするとき、'.rb'という拡張子をCGIとして認識させる方法

Sinatraのローカル開発用としてWEBrickでテスト用CGIサーバ書いてみたが、*1
WEBrickのデフォルトだと '.cgi'をCGIスクリプトとして認識するようになっていて、完成したアプリをデプロイする前に'.rb'に戻したりするのが面倒だしトラブルの元になりそうなので、WEBrick側で'.rb'をCGIスクリプトとして処理する方法を調べた。
以下のようなコードで行けた。

require 'webrick'
include WEBrick

module WEBrick::HTTPServlet
  FileHandler.add_handler('rb', CGIHandler)
end

s = HTTPServer.new(
  :Port => 3000,
  :DocumentRoot => File.join(Dir.pwd, "/html")
)
trap("INT") { s.shutdown }
s.start

FileHandler#add_handlerを使えばいいらしい。

*1:...と書いたが、なんか思い違いしてるかも