なるようになるブログ

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

rails commit log流し読み(2025/02/21)

2025/02/21分のコミットです。

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

activerecord/CHANGELOG.md

activejob/CHANGELOG.md


Destroy all sessions on password reset (#54524)

railties/lib/rails/generators/rails/authentication/templates/app/controllers/passwords_controller.rb.ttの修正です。

authentication generatorが生成するPasswordsControllerで、パスワードを更新した際はsessionをすべて削除するよう修正しています。


Merge pull request #54580 from joshuay03/fix-53758

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

readonly roleでActiveRecord::Locking::Pessimistic#lock!を実行した際に、ActiveRecord::ReadOnlyErrorをraiseするよう修正しています。


Merge pull request #54581 from Edouard-chin/ec-rails-const

activerecord/test/cases/adapters/sqlite3/dbconsole_test.rbの修正です。

Rails moduleが定義されていない場合、dbconsoleのテストがfailしていたのを、定数をstubしてRails moduleが定義されていない場合もテストが通るよう修正しています。


Merge pull request #54541 from Shopify/report-option-retry-on

activejob/lib/active_job/exceptions.rbの修正です。

ActiveJob::Base#retry_on及び#discard_onreportオプションを追加しています。デフォルトはfalseで、trueが指定された場合、retry / discard時にerror reporterにerrorをレポートするようになっています。


Fix LocalStore#read_multi_entries to distinguish recorded misses

activesupport/lib/active_support/cache/strategy/local_cache.rbの修正です。

local cacheで#fetch#fetch_multiをデフォルトを設定するblockと合わせて使用する際に、メソッドに指定したkeyが既に存在していないkeyとわかっている場合(事前に#exist?などを実行済みの場合)に、デフォルトを設定するblockが実行されず、nilが返ってきてしまうバグがあったのを修正しています。