なるようになるブログ

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

rails commit log流し読み(2018/05/29)

2018/05/29分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Hide Active Storage migration installation task (#33007)

activestorage/lib/tasks/activestorage.rakeの修正です。

active_storage:install:migrations タスクがタスク一覧に表示されないよう修正しています。

active_storage:installタスクが別に提供されており、active_storage::install:migrationsを直接実行する必要は無い為。


Ensure casting by boolean attribute when querying

activemodel/lib/active_model/type/boolean.rbの修正です。

query実行時にboolean attributeのcast処理が必ず行われるよう修正しています。

Properly cast input in update_allで対応されたのですが、対応が不十分でadapterによって挙動が違う(PostgreSQLだとwhereにStringのtrueを指定しても動作するが、MySQLだとエラーになる)という状態になってしまっていたのを、全てのadapterで正しく動作するようにしています。


Verify integrity after chunked download

Active Storageの修正です。

blobをchunked downloadした後に、チェックサムの値を確認し、downloadしたファイルが正しいかどうかチェックするよう修正しています。


Fix reference

activestorage/lib/active_storage/downloader.rbの修正です。

verify_integrity_ofメソッドでレシーバーの指定が不足していた箇所があったのを修正しています。


Merge pull request #32952 from mechanicles/32940-fix

activerecord/lib/active_record/autosave_association.rbの修正です。

autosave associationで、child associationが複数ある、かつ、一部だけでvalidationエラーが発生している場合に親レコードのsave処理が正常に完了してしまっていたのを、エラーになるよう修正しています。


Fix name of the second parameter of block executed by discard_on and retry_on

activejob/lib/active_job/exceptions.rbのdocの修正です。

retry_on、及び、discard_onにブロックを渡した場合のexampleで、ブロックに渡される値を保持する変数名をexceptionからerrorに修正しています。

渡される値がException classではなくerrorのインスタンスの為。