なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2019/10/11)

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_addafter_add callbackは新しいレコードが追加された場合に実行される事を想定している為。


Add a few more assertions

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を使用しなくなっており、デフォルトだと保存処理が行われない為、


Remove a javascript from test

railties/test/application/assets_test.rbの修正です。

先の対応により不要になったJSファイルを削除しています。


Link .js from manifest.js in assets_test

railties/test/application/asset_debugging_test.rbrailties/test/application/assets_test.rbの修正です。

JSのファイルがsprocketsでコンパイルされるようmanifest fileの設定を追加しています。


Sprockets uses debug. not self. now

railties/test/application/asset_debugging_test.rbrailties/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.rbactiverecord/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.rbactiverecord/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を指定しないと結果が不定になる為。