2017/09/05分のコミットです。
CHANGELOGへの追加はありませんでした。
Don’t merge reflection_scope
if reflection.scope
isn’t given
activerecord/lib/active_record/associations/preloader/association.rb
の修正です。
Association#build_scope
メソッドでreflection.scope
が設定されていない場合、不要なreflection scopeのmerge処理を行わないよう修正しています。
Assigning values
is only necessary when reflection_scope.where_clause
is not empty
activerecord/lib/active_record/associations/preloader/through_association.rb
の修正です。
Preloader::ThroughAssociation#through_scope
メソッドで、reflection_scope.where_clause
が空の場合に不要なreflection_scope.values
の呼び出し処理(及びその呼び出しによるHashの生成)を行わないよう修正しています。
Don’t pass unneeded reflection
to add_constraints
activerecord/lib/active_record/associations/association_scope.rb
の修正です。
AssociationScope::ReflectionProxy#add_constraints
メソッドの引数からreflection
を削除しています。
scope
を取得する為に使用されていたのですが、別の引数(chain_head
)から同じscope
を取得出来、こちらは不要な為削除されています。
Merge pull request #30520 from rails/railties-rails-command
railtiesのテストの修正です。
テスト内でrailsのコマンドを実行するのにバッククォートを使用して外部コマンドとして実行していた(e.g. `./bin/rails generate model user`のように)のを、fork + loadを使用してコマンドを実行するように修正しています。
バッククォートを使用してコマンドを実行すると、shellの引数解析が実行されてしまいコマンドの実行が遅くなってしまいます。それを避けるようにする為に上記方法で行うようにしています。要はテスト実行のスピードアップの為。
Merge pull request #29791 from yui-knk/at_object
Action Viewの修正です。
ActionView::Helpers::Tags::Base
クラスが使用するprivateメソッドの引数にBase
クラスのインスタンス変数(@object
)が含まれていたのを、引数から削除し、メソッド内で直接インスタンス変数を参照するよう修正しています。