2015/08/09分のコミットです。
CHANGELOGへの追加はありませんでした。
Merge pull request #11352 from xaviershay/dispatcher-api
ActionPackの修正です。
routing dispatcherがRouting::RouteSet::Dispatcher
固定だったのを、任意のカスタムdispatcherが指定出来るよう修正しています。
ライブラリでデフォルトのroutingの挙動をいじりたい場合は等は便利そうかも。
Refactor route assertion methods in resources test
actionpack/test/controller/resources_test.rb
の修正です。
resourcesのテストで、routeのオプションをoptions
変数に全てまとめ保持していたのを、route_options
という別の変数に保持するよう修正しています。コードを見やすくする為のリファクタリングとの事です。
replace each with each_key when only the key is needed
actionpack/lib/action_dispatch/routing/route_set.rb
、
activesupport/lib/active_support/multibyte/unicode.rb
の修正です。
keyのみが必要なイテレーション処理で、each
メソッドを使用していたのをeach_key
を使用するよう修正しています。
each_key
の方がちょっと早いとの事です。ベンチ結果。
Calculating ------------------------------------- each 31.378k i/100ms each_key 33.790k i/100ms ------------------------------------------------- each 450.225k (± 7.0%) i/s - 2.259M each_key 494.459k (± 6.3%) i/s - 2.467M Comparison: each_key: 494459.4 i/s each: 450225.1 i/s - 1.10x slower
[ci skip] Fix the AS::Callbacks terminator docs
activesupport/lib/active_support/callbacks.rb
のdocの修正です。
define_callbacks
メソッドのexampleで、第二引数の扱い方に誤りがあったのを修正しています。
[ci skip] Adding a note to Action Mailer Basics documentation that Google increased its
rails guideのAction Mailer Basics
の修正です。
Action Mailer Configuration for Gmail
の項に、its security measuresへのリンク及び、安全性の低いアプリがgmailにアクセスするには別途設定が必要な旨説明を追加しています。
[ci skip] Give in-depth explanation of migrations vs. seeds.rb
rails guideのActive Record Migrations
の修正です。
Migrations and Seed Data
の項にmigrationsとseeds.rb、それぞれについてもう少し詳細な説明を追加しています。
activerecord/lib/active_record/railtie.rb
の修正です。
middleware の指定に文字列を使用していた箇所をクラス名を指定するよう修正しています。
先日の、Using strings or symbols for middleware class names is deprecated. によりdeprecationメッセージが出るようになってしまった為、対応しています。
actionpack/lib/action_dispatch/routing/mapper.rb
の修正です。
使用していないScope#[]=
メソッドを削除しています。
actionpack/lib/action_dispatch/routing/redirection.rb
の修正です。
不要な空白を削除しています。
actionpack/lib/action_dispatch/routing/mapper.rb
の修正です。
Constraints
クラスのコンストラクタを第三引数をtrue/falseからProc
クラスに変更し、引数の値によって実行する処理を分岐していたのを、引数に指定されたProc
を実行するだけに修正しています。
ランタイムコンディションのチェックを削除するために、strategyパターンを使用するように修正したようです。
Remove defaults
hash from Dispatcher
actionpack/lib/action_dispatch/routing/route_set.rb
の修正です。
Dispatcher
クラスからdefaults
hashを削除しています。
Dispatcher
クラスで必要なのはNameErrorが起きた際にraiseするかどうかの情報だけだったので、その情報のみ指定して渡すように修正しています。
eliminate assignment in conditional
actionpack/lib/action_dispatch/routing/route_set.rb
の修正です。
Dispatcher#serve
メソッドから不要な処理分岐を削除しています。
actionpack/lib/action_dispatch/routing/route_set.rb
の修正です。
controller
メソッドから不要なparams
のnilチェック処理を削除しています。
先にprepare_params!
メソッドでparams
が初期化されてない場合にexceptionがraiseするよう対応しているおり、controller
メソッドで使用する時点で初期化されてない事は無い為とのことです。
actionpack/lib/action_dispatch/routing/mapper.rb
の修正です。
scope
メソッドを直接呼び出していたのを、ラッパーメソッド経由(controller_scope
、path_scope
)でscopeの値取得するよう修正しています。
scope
メソッドで行っている処理を整理するためのようなのですが…。よくわからなかった…。
actionpack/lib/action_dispatch/routing/mapper.rb
の修正です。
resource_scope
メソッドの戻り値をHashを使わないよう修正しています。
Hashを使っていたものの、設定する値は一つしかなく、Hashである必要性が無いため修正したようです。