下記の文章はRiding Rails: This Week in Edge Railsをざっくり翻訳したメモです。かなり適当に訳しているので間違え等あればご指摘お願いします><
Rack integration
script/serverがrackを通すようになって、rackで使えるサーバを使えるようになる。扱えるサーバの種類が増える。
Efficient routes
- ルーティングを自動生成したときにできるformatted_xxxのルーティングが :formatオプションを明示的に使ったときのみ設定されるように変更になる。これによりrouteの自動生成量が50%減。formatted_xxxはdeprecatedになる(一応まだ使えるみたい)
- routes.rb以外でもroute設定ができるように。RouteSet#add_configuration_fileを使うとどこでもルーティングの設定ができる。
Better support for engine plugins
いまいちよくわからなかった
Sensible backtraces for your tests
- ActiveSupport::BacktraceCleaner
- Rails::BacktraceCleaner
などを使ってbacktraceの任意の行を消せるようになるらしい。個人的には使いどころがよくわからない機能
Faster boot time in development mode with lazy loading/autoload
ActiveSupport等のフレームワークを、本当に必要なときだけメモリ上にロードするように変更することでメモリ使用量を減らし、Railsのパフォーマンスを良くする機能改善。
Misc
- preload_frameworksオプションを使うと、コアライブラリをすべてスタートアップ時にロードする。デフォルトはfalseでそれぞれ一つずつロードしていく方式だが、PassengerやJRubyなどには必要な機能。
- asset hosts(imageやcssなどの静的ファイルを置いておくホスト)をオブジェクトのように扱えるようになるらしい。
- ヘルパーのディレクトリをActionController::Base.helpers_dirで指定できるようになる。
- CSRF用のトークン生成が簡単になる。ActiveSupport::SecureRandomを使ってランダムな文字列を生成するようになり、protect_from_forgeryの:digestや:secretオプションはdeprecatedになって効果がなくなる。
- 秘密の情報を簡単に暗号化するのにActiveSupport::MessageEncryptorが使えるようになる。
- from_xmlはXmlSimple依存でなくなって、代わりに独自のXmlMiniというものになる。
- rake rails:update:application_controllerで、application.rbをapplication_controller.rbにリネームできるようになる。rake rails:updateにもこの機能は含まれる。
- ActiveSupport::OrderdHashがeach_keyとeach_valueを提供するようになる
- I18nの翻訳設定ファイルにstorage_units:[Bytes, KB, MB, GB, TB]が追加
- "a shining example of what happens when eagerness overtakes prudence"とかいうコンポーネントのサポートが終わるらしい?
- /public配下のCGIとFCGIのディスパッチファイルがデフォルトでは生成されなくなる。--with-dispatchesをrailsコマンドのオプションとしてつけるか、rake rails:generate_dispatchersすれば生成される。
- 今週のedgeの変更は136コミット