2024/05/13分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activerecord/lib/active_record/relation/batches/batch_enumerator.rb
の修正です。
batches系のAPI経由でtouch_all
を使用出来るよう修正しています。
Post.in_batches.touch_all
Refactor ActiveRecord::SignedId
to not rely on relation delegation
activerecord/lib/active_record/relation.rb
、
activerecord/lib/active_record/signed_id.rb
の修正です。
ActiveRecord::SignedId
moduleの処理をrelation delegationに依存しないようリファクタリングしています。元々はActiveRecord::Relation
のmissing methodsをmodel classに自動でdelegateする処理に依存していたのですが、この処理に依存するのはバグになりやすいため、Rails内部の処理はそこに依存しないで済むように対応していく、とのことです。
Do not trigger devcontainer tests on pull requests
.github/workflows/devcontainer-smoke-test.yml
の修正です。
devcontainerのテストをPRでは実行しないよう修正しています。PRを実行する前にコードの確認をする必要があるため。
Refactor ActiveRecord::TokenFor
to not rely on relation delegation
activerecord/lib/active_record/relation.rb
、
activerecord/lib/active_record/token_for.rb
の修正です。
ActiveRecord::TokenFor
moduleの処理をrelation delegationに依存しないようリファクタリングしています。先のActiveRecord::SignedId
moduleの対応と同様の理由。
Fix: batch test assertion order
activerecord/test/cases/batches_test.rb
の修正です。
assert_equal
メソッドの引数が逆(actual、expectedの順になっていた)になっていたのを修正しています。
Lint/Debugger
lintを有効化するよう修正しています。
Merge pull request #51805 from Shopify/refactor-ar-peristence-relation-methods
Active Recordの修正です。
ActiveRecord::Persistence
のclass methodをRelationのmethodに移動しています。
ActiveRecord::Relation
のmissing methodsをmodel classに自動でdelegateする処理に依存するのを減らす対応の一環。
Suppress RuboCop output when there are no offenses in code generation
railties/lib/rails/configuration.rb
の修正です。
generatorで生成されたファイルに対してRuboCopのautocorrectを自動で行う際に、--format=quiet
オプションを指定してconsoleへの出力が行われないよう修正しています。
Use foreign_key
option for destroy_async test models
activerecord/test/models/cpk/book_destroy_async.rb
、
activerecord/test/models/cpk/chapter_destroy_async.rb
の修正です。
deprecatedになったassociationのquery_constraints
オプションを使用している箇所があったのを修正しています。