2019/10/11分のコミットです。
CHANGELOGへの追加はありませんでした。
Don't run callbacks on has_many inverse add
activerecord/lib/active_record/associations/collection_association.rb
の修正です。
has_many
のinverseでレコードが追加された場合に、callbackを実行しないよう修正しています。
before_add
、after_add
callbackは新しいレコードが追加された場合に実行される事を想定している為。
railties/test/application/assets_test.rb
の修正です。
assert_file_exists
で指定されたファイルのディレクトリが存在するかどうかもチェックするよう修正しています。
以降、Sprockets 4.0がリリースされた事によりコケたテストに対する対応が続きます。
Maybe we understand index.js better now?
railties/test/application/assets_test.rb
の修正です。
ネストしたディレクトリにあるassetsをコンパイルした際に生成されるファイル名が変更になっていたので、それに合わせてチェックするファイル名を修正しています。
Use a stylesheet instead of a javascript in test
railties/test/application/assets_test.rb
の修正です。
デフォルトでmanifest fileと同じディレクトリにあるassetsが保存される事を確認するテストで、JSのファイルでチェックしていたのをCSSのファイルでチェックするよう修正しています。
そもそもRails 6.0からJSはsprocketsを使用しなくなっており、デフォルトだと保存処理が行われない為、
railties/test/application/assets_test.rb
の修正です。
先の対応により不要になったJSファイルを削除しています。
Link .js from manifest.js in assets_test
railties/test/application/asset_debugging_test.rb
、
railties/test/application/assets_test.rb
の修正です。
JSのファイルがsprocketsでコンパイルされるようmanifest fileの設定を追加しています。
Sprockets uses debug. not self. now
railties/test/application/asset_debugging_test.rb
、
railties/test/application/assets_test.rb
の修正です。
debugに使用するファイル名が変更になっていたので、それに合わせてチェックするファイル名を修正しています。
Fix eager load for no :has_many with limit and joins for :has_many
activerecord/lib/active_record/relation/finder_methods.rb
の修正です。
has_manyじゃないassociationをeager load + has_manyなassociationをjoin + limitを指定した場合に結果が正しく取得出来ないバグがあったのを修正しています。
Correctly find nested association reflections for #37356
activerecord/lib/active_record/relation/finder_methods.rb
、
activerecord/lib/active_record/relation/query_methods.rb
の修正です。
先の対応の続きで、joinするassociationがnestしている場合にも結果が正しく取得出来るよう修正しています。
Fix random CI failure due to non-deterministic sorting order
activerecord/test/cases/associations/has_many_associations_test.rb
、
activerecord/test/cases/relations_test.rb
の修正です。
assertionで値を比較する際に、値をidでsortしてからチェックするよう修正しています。 sortを指定しないと結果が不定になる為。
Fix random CI failure due to non-deterministic sorting order
activerecord/test/cases/calculations_test.rb
の修正です。
pluck + joinのテストでassertionで値を比較する際に、値をidでsortしてからチェックするよう修正しています。 sortを指定しないと結果が不定になる為。