なるようになるブログ

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

rails commit log流し読み(2025/01/14)

2025/01/14分のコミットです。

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

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Flash.add_flash_types should define helpers as private

actionpack/lib/action_controller/metal/flash.rb

flashで使用されている名前(alertnotice)がaction名に指定出来ないバグがあったのを修正しています。


Merge pull request #54184 from Shopify/limit-number-of-returning-columns-after-insert-to-1-when-not-supported

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

MySQL adapterでtableにauto populated columnsが複数ある、かつ、primary keyの定義より前にそのcolumnsがあるような場合に、record insert時にid attributeの値が正しく設定されないバグがあったのを修正しています。


Merge pull request #54196 from zzak/re-52853

activesupport/lib/active_support/deprecation/reporting.rbの修正です。

内部用の定数であるActiveSupport::Deprecation::Reporting配下の定数がAPI docに表示されないよう修正しています。


Merge pull request #54197 from skipkayhil/hm-no-forwardable

activemodel/lib/active_model/errors.rbactivemodel/lib/active_model/nested_error.rbの修正です。

Forwardableを使用して行なっていたdelegate処理を、ActiveSupport::Delegationを使用して行うよう修正しています。ActiveSupport::Delegationは全てのフレームワークで使用出来るようになっており、追加のrequire無しで使用出来る為。


Merge pull request #54171 from Earlopain/variant_processor_nil

activestorage/lib/active_storage/engine.rbの修正です。

config.active_storage.variant_processornilを指定した場合に、コンポーネントのload時にエラーになってしまうバグがあったのを修正しています。


Merge pull request #54193 from skipkayhil/hm-requires

不要なActive Supportのrequireをしていないかチェックするツールを追加、及び、不要なrequireを削除しています。


Authentication generator controller clears browser cache at logout

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

authentication generatorが生成するコードで、ログアウト時にClear-Site-Data headerを指定してストレージとキャッシュのデータを消去するよう修正しています。


Fix inconsistency between delete_all & update_all allowed methods:

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

update_all実行時にSQLWITHWITH RECURSIVE、又は、DISTINCTが含まれている場合、これらのstatementは無視される旨deprecateメッセージを出力するよう修正しています。今までは単に無視されていたんのですが、delete_allの方はそれらが含まれていたらエラーをraiseするようになっており、同じ挙動にする為にまずはdeprecateメッセージを出すようにしています。


Fix typo in routing guide

rails guideのRails Routing from the Outside Inの修正です。

routesroutedにタイポしている箇所があったのを修正しています。


Fix incorrect expiration time in ActiveSupport::Cache::Store#fetch

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

ActiveSupport::Cache::Store#fetchでexpireしたentryの書き込みを行なった場合に、そのときに使用したexpires_inの値で、本来fetchに指定したexpireオプションの値をオーバライドしてしまうバグがあったのを修正しています。


Merge pull request #54227 from Tapjoy/fix/http-method-acronyms

actionpack/lib/action_dispatch/http/request.rbの修正です。

ActionDispatch::Request::HTTP_METHOD_LOOKUPにmethod名を設定する際に、小文字に変換してから設定するよう修正しています。元々は大文字で設定されていたのですが、それだとacronymの設定を影響を受けてしまう("OS"をacronymに追加していた場合、POSTが最終的に:p_os_tになってしまっていた)のを避ける為。


Fix default docker build.

railties/lib/rails/generators/app_base.rbの修正です。

Dockerfileに含むパッケージにlibyaml-devを追加しています。Docker OfficialRuby imageからlibyaml-devが削除されてしまった、しかし、これが無いとpsych gemのインストールでエラーになる為。

参考:Remove runtime dependencies from slim and alpine variants


Upgrade docker smoke tests to use Ruby 3.4

GitHub workflowsの修正です。

smoke testで使用するRubyを3.4に更新しています。


Fix typo in active_storage_overview.md guide

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

it'sitsに修正しています。


Merge pull request #54141 from arthurhess/fix/enum-types-with-comma

Active Recordの修正です。

PostgreSQLenum typesにカンマ入りの値を指定していた場合に、schema dumpにカンマが消された状態で出力されてしまうバグがあったのを修正しています。


Skip persisted through targets when autosaving collection associations

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

collection associationsをthrough association経由でautosaveした際に、同じレコードが重複して作成されてしまうバグがあったのを修正しています。