Padrino Commit Aug 09, 2013
ujifgc Merge pull request #1378 from namusyaka/fix-broken-params
#1378のマージコミットです。
namusyaka Fix broken params.
namusyaka Add test case for #1366
post :index, :with => [:foo, :bar], :bar => /.+/ do params.to_s end get :foo, :map => '/mystuff/:a_id/boing/:boing_id' do params.to_s end
上記のように、正規表現のキャプチャを含むルーティングが定義されていた場合に、
それよりも下に定義されているルーティングに到達しない不具合が修正されました。
これは、Padrino が依存している http_router の不具合なので、モンキーパッチを当てての修正になっています。
(http_router はもうメンテされていないようですし…)
修正箇所を見ると確かにバグってるよな〜というのは分かるのですが、http_router が謎過ぎて動きを追うのがつらいので、
どうやって該当箇所を発見・修正していったのか @namusyaka さんに解説して欲しいです…。
2013/08/11 追記
@namusyaka さんが解説記事を書いてくださいました!ありがとうございます!!
私は如何にしてPadrino::Routing及びhttp_routerのバグを直したか