なるようになるブログ

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

rails commit log流し読み(2023/12/14)

2023/12/14分のコミットです。

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

activerecord/CHANGELOG.md


TrilogyAdapter: ignore host if socket is set

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

TrilogyAdapterで、socket parameterが設定されている場合、host parameterの値は無視するよう修正しています。DATABASE_URLUNIX socketを指定しての接続を行えるようにするため。

DATABASE_URL=trilogy://does-not-matter/my_db_production?socket=/var/run/mysql.sock

Fix a typo in a comment

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

コード内のコメント内のタイポを修正しています。


Prevent duplicate records when preloading has_many

activerecord/lib/active_record/associations/preloader/association.rbの修正です。

ActiveRecord::Associations::Preloaderでhas_many associationをpreloadする際に、同じrecordが重複して設定されてしまうバグがあったのを修正しています。


Fix load_async for null relations

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

null relationに対してload_asyncを実行した場合の戻り値をPromise::CompleteからFutureResult::Completeに変更しています。普通のrelationをloadした場合と同様に、scheduled?等のメソッドによるチェックを行えるようにする為。


Add doc for assert_queries and assert_no_queries

activerecord/lib/active_record/testing/query_assertions.rbactiverecord/test/cases/assertions/query_assertions_test.rbの修正です。

assert_queriesassert_no_queriesにdocを追加、及び、それらのメソッドのテストでエラーメッセージの出力内容等も確認するよう修正しています。


Fix Model.none.async_pluck to return a Promise

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

null relationに対してload_asyncを実行した場合の戻り値をArrayからPromise::Completeに変更しています。他のasync系のメソッドとインターフェイスを合わせる為。


Document assert_queries and assert_no_queries [ci-skip]

rails guideのTesting Rails Applicationsの修正です。

Railsが提供しているassertionの一覧にassert_queriesassert_no_queriesを追加しています。