なるようになるブログ

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

rails commit log流し読み(2018/06/27)

2018/06/27分のコミットです。

CHANGELOGへの追加はありませんでした。


Call initialize after allocate

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

ActiveRecord::Core#allocateメソッドを削除しています。

元々define_attribute_methodsメソッドを呼び出ていただけで、初期化処理全て行っていたわけではない、かつ、instantiateメソッド等を経由してオブジェクトを生成した場合、define_attribute_methodsメソッドが2回呼ばれてしまう、という問題もあった為、削除しています。


Merge pull request #33223 from rails/homogeneous-allocation

Active Recordの修正です。

Active Recordのオブジェクトの初期化前に、STI用のカラムが含まれているかチェックし、含まれていない場合、不要なクラスの初期化処理を行わないよう(作成済みのデータを使い回す)修正しています。これにより、オブジェクトの生成処理が減少し、結果処理性能が改善しています。


Add changelog entry for 3110cae [ci skip]

activejob/CHANGELOG.mdの修正です。

retry_ondiscard_onメソッドに複数のExceptionを指定出来るよう修正した、Allow passing multiple exceptions to retry_on/discard_onの対応についてCHANGELOGにエントリーを追加しています。


Merge pull request #33234 from alpaca-tc/autoload_activejob_arguments

Active Jobの修正です。

明示的にrequireせずに使えるようにする為に、ActiveJob::Argumentsをautoloadするよう修正しています。