なるようになるブログ

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

rails commit log流し読み(2021/06/25)

2021/06/25分のコミットです。

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

activerecord/CHANGELOG.md

actionmailbox/CHANGELOG.md

actionpack/CHANGELOG.md


Convert strict_loading_mode from class attr to ivar

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

strict_loading_modeをclass attrからivarに変更しています。 :n_plus_one_onlyはrecordのみをサポートしており、classに指定されても動作しない為。


Merge pull request #42553 from jhawthorn/preload_instance_scope

Active Recordの修正です。

instance dependent associationsをpreload出来るよう修正しています。instance dependent associationsは、下記のようにassociationにscope + 引数が定義さており、その内容により結果が変わるようなassociationのこと。

has_many :posts_mentioning_author, ->(author) {
  where("posts.body LIKE ?", "%#{author.name.downcase}%")
}, class_name: "Post"

Implement ActionMailbox incinerate in conductor

Action Mailboxの修正です。

Action Mailboxのdevelopment用の検証ページで、inbound messageのincinerateを出来るよう修正しています。


Merge pull request #42590 from eileencodes/fix-disable-joins-with-sti-type

Active Recordの修正です。

modelがSTI enum typeが保持している場合、disable joinsがtrueの場合にそのtypeが適用されないバグがあったのを修正しています。


Adjust guides to explain the need to disable the ActiveStorage default routes when implementing authenticated routes [ci skip]

rails guideのActive Storage Overviewの修正です。

Active Storageのdefault routesを無効化する方法についての説明を追加しています。


Skip logging backtrace when exception is in rescue_responses

Action Packの修正です。

rescued_responsesで指定されているexceptionについて、DebugExceptionsでそのexceptionに関するlogを出力するかどうかをconfig(config.action_dispatch.log_rescued_responses )で指定出来るよう対応しています。デフォルトはlogを出力するようになっており、config.action_dispatch.log_rescued_responsesにfalseを指定すると、rescued_responses`で指定されたExceptionについてはlogを出力しないようになります。


Merge pull request #42483 from chrisbloom7/chrisbloom7/guide-update-action-controller-reserved-methods

rails guideのAction Controller Overviewの修正です。

ライブラリ側で使用されているメソッドをcontrollerのactionとして再定義した場合、SystemStackErrorが発生する事がある旨説明を追加しています。


Split out TestRun from ci/qunit-selenium-runner to separate file

ci/qunit-selenium-runner.rbci/test_run.rbの修正です。

JSのテスト用のクラスのうち、テスト結果を確認する為のクラスを別ファイルに分けるよう修正しています。


Set precision 6 by default for datetime

Active Recordの修正です。

migrationのdatetime columnにデフォルトでprecision: 6を指定するよう修正しています。


Improve ActiveStorage security documentation [ci skip]

Active Storageのdocの修正です。

各controllerのdocに、生成されるURLに認証を入れたい場合の、対応方法について説明したドキュメントへのリンクを追加しています。


Report async queries lock wait duration

activerecord/lib/active_record/future_result.rbactiverecord/lib/active_record/log_subscriber.rbの修正です。

async queriesのログに、lock waitした期間の情報も出力するよう修正しています。実際にどれだけwaitが発生したか(asyncにした意味があるのか)を確認出来るようにする為。


Fix test name

railties/test/application/rake/multi_dbs_test.rbの修正です。

テスト名が仮の名前のままになってしまっていた箇所があったのを修正しています。