最近リリースされたRuby 1.8.7のプレビューリリースをウオッチしていたRails開発者はすぐに1.8.7プレビュー1に関してあることに気がつきました。それは、 1.8.7プレビュー1がRailsを破壊してしまうということです。Railsが破壊されてしまう理由は、Symbol#to_procメソッドを追加 したからです。それは、Ruby 1.9からバックポートされたものです。このメソッドを追加したことにより、よりコンパクトな方法でコードを書くことが出来ます。(Symbol#to_proc
の詳細(参考記事)を確認)
結果として何が起きたか?Railsはto_procメソッドをSymbolクラスに追加ずみでしたが、Ruby 1.8.7 Preview 1が追加したSymbol#to_procメソッドは、Railsが追加したSymbol#to_procと比較して若干異なる動きをします。
幸いなことに、Railsユーザは沢山いるので、問題はすぐに報告され、Ruby 1.8.7のファイナルバージョンでは、正しく動作するSymbol#to_procに修正されました。
続きを読みたい方は、以下URLをクリックしてください。
http://www.infoq.com/jp/articles/ruby-open-classes-monkeypatching
Rubyに関する他の話題が気になる方は、以下URLで表示される一覧よりアクセスしてください。
http://www.infoq.com/jp/ruby