なるようになるブログ

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

rails commit log流し読み(2023/08/04)

2023/08/04分のコミットです。

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

actionpack/CHANGELOG.md

actionview/CHANGELOG.md

activerecord/CHANGELOG.md

activestorage/CHANGELOG.md


Merge pull request #48861 from paulreece/correct_missing_and_associated_behavior

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

missingメソッドをorderunscopeと合わせて使用した場合に、誤ったSQLが生成されてしまうバグがあったのを修正しています。


Merge pull request #48682 from flavorjones/flavorjones-use-rails-dom-testing-helpers-for-html-parsing

Action Pack、Action View、railtiesの修正です。

Action Pack、Action Viewのテスト、及びrails-dom-testingで使用するHTML parserをconfig.dom_testing_default_html_versionで指定出来るよう修正しています。元々はHTML4 parserが使われており、HTML5 parserを使いたい場合、config.load_defaults7.1以上を指定するか、config.dom_testing_default_html_version:html5を指定すれば良いようになっています。誤ったHTMLを生成している場合に、テストでそれが検知出来るようにする為。


Merge PR #48608

Active Recordの修正です。

PostgreSQL 15+で使用出来るindexへのNULLS [NOT] DISTINCTの指定について、schema.rbへの出力がされていなかったのを修正、及び、NULLS [NOT] DISTINCTのマッチ処理が正しい順番で行われていなかったのを修正しています。


Merge pull request #48869 from brunoprietog/disable-session-active-storage-proxy-controllers

Active Storageの修正です。

ActiveStorage::Blobs::ProxyController及びActiveStorage::Representations::ProxyControllerでsessionを無効化するよう修正しています。CloudFlareなどのCDNでキャッシュされるようにする為。


Merge pull request #48873 from drnic/arel-cast-function

activerecord/lib/arel/factory_methods.rbの修正です。

CASTを行うためのArel::FactoryMethods#castメソッドを追加しています。


Add unit test for Arel::FactoryMethods.coalesce

activerecord/test/cases/arel/factory_methods_test.rbの修正です。

Arel::FactoryMethods.coalesceメソッドへのテストを追加しています。


Extract private method to implement batch on loaded relation

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

loadされたrelationに対してのバッチ処理をメソッドに切り出しています。


Extract private method to batch on unloaded relation

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

loadされていないrelationに対してのバッチ処理をメソッドに切り出しています。


No need for local variable for relation

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

relationを別変数に保持するようにしていたのを、直接relationを参照するよう修正しています。


Make sure all PostgreSQL tests pass when nulls not distinct isn't supported by the database

activerecord/test/cases/adapters/postgresql/active_schema_test.rbactiverecord/test/cases/migration/index_test.rbの修正です。

nulls not distinctに関するテストを、サポートしていないDBでは実行しないよう修正しています。


Make trilogy tests pass on MariaDB

activerecord/test/cases/adapters/trilogy/trilogy_adapter_test.rbactiverecord/test/cases/migration_test.rbの修正です。

trilogy adapterのテストがMariaDBで通るよう修正しています。


Added missing test for Arel factory methods

activerecord/test/cases/arel/factory_methods_test.rbactiverecord/test/cases/arel/table_test.rbの修正です。

テストが無かったArel factory methodにテストを追加しています。


Fix typo in ActiveRecord Query guide

rails guideのActive Record Query Interfaceの修正です。

nested associationを複数joinした場合に生成されるSQLの例が、実際に生成される内容と異なっていたのを修正しています。


Merge pull request #48879 from jhawthorn/get-rid-of-trilogy-errors-merge

Active Recordの修正です。

Trilogy adapterでDBに接続出来なかった場合に、エラーの原因毎に個別のerror classを作成していたのを、他のadapterと同様にConnectionFailedにエラーをまとめるよう修正しています。