なるようになるブログ

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

rails commit log流し読み(2024/08/01)

2024/08/01分のコミットです。

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

actiontext/CHANGELOG.md

actionview/CHANGELOG.md

actioncable/CHANGELOG.md


Get rid of with_multi_statement

Active Recordの修正です。

with_multi_statementsメソッドを削除するよう修正しています。multi statementsをデフォルトでサポートしていないmysql2 adapteのための処理がメインだったのですが、そちらの対応はperform_queryメソッド内で対応するよう修正しています。また、sqlite3 adapterについては、sqlite3でmulti statementsを扱うための正式なAPI(execute_batch2)があり、そちらを使用するよう修正しています。


Rename text_area to textarea

Action View、Action Textの修正です。

view helpersのtext_areatextareaにリネームしています。HTMLではtextareaが使われており、同じ名前の方が混乱が少ないだろう、とのことで。同様にAction Textのrich_text_arearich_text_areaにリネームしています。古い方の名前は互換性のために引き続き使えるようになっています。


Reallow setting secret_key_base to nil when local

railties/lib/rails/application/configuration.rbの修正です。

Restore some config.secret_key_base functionalityの対応の影響で、dev/test envでsecret_key_basenilを指定した場合に、自動でdev/test用のsecretを生成する処理が動作しなくなっていたのを、再度動作するよう修正しています。


Add missing text_area alias in Action View FormHelper

actionview/lib/action_view/helpers/form_helper.rbの修正です。

text_areaのaliasを定義するのが漏れていた箇所があったのを修正しています。


Fix deprecation message in to_time_preserves_timezone

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

to_time_preserves_timezoneのdeprecateメッセージで行の最後にスペースを入れるよう修正しています。


Upgrade sprockets-rails to remove deprecations

Gemfile.lockの修正です。

sprockets-rails gemを最新バージョンに更新しています。deprecateメッセージが表示されないようにするため。


Remove whitespace from authentication generator templates (#52469)

railtiesの修正です。

authentication generator用のtemplateファイルから、不要な空行を削除しています。


Include identifier in ActionCable channel notifications (#52421)

actioncable/lib/action_cable/channel/base.rbの修正です。

transmit_subscription_confirmation.action_cable及びtransmit_subscription_rejection.action_cable eventのpayloadに、identifierを含むよう修正しています。


Bundle in quiet for authentication generator

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

authentication generatorでbundle installを実行する際に、bundleのログをstdoutに出力しないよう修正しています。


Session tokens ought not be null

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

authentication generatorでsessionsテーブルのtokenカラムを生成する際に、カラムにnot null成約を指定するよう修正しています。


No need to remove docker-compose anymore on the smoke test

.github/workflows/devcontainer-smoke-test.ymlの修正です。

存在しない/usr/local/bin/docker-composeの削除処理を削除しています。


Rails 7.3 doesn't exist

deprecateメッセージ内の次のRailsのバージョンが7.3になっている箇所があったのを、8.0に変更しています。


Refactor CodeGenerator uses in Action View

Action View、Active Supportの修正です。

Action View内のCodeGeneratorを使用している箇所について、不要なdefined_cached_methodが実行されないよう修正、及び、メソッドを定義した箇所のsource locationsが誤った値になっていたのを修正しています。


Merge pull request #51273 from zachasme/puma-dev-kebab-case

railties/lib/rails/generators/rails/app/templates/bin/setup.ttの修正です。

rails newで新規にアプリケーションを作成した際に、アプリ名に大文字が含まれているような場合に、puma-dev用のホスト名の指定が誤った値になってしまっていたのを修正しています。


Use _path in views always

railties/lib/rails/generators/erb/authentication/templates/views/sessions/new.html.erbの修正です。

authentication generator用のtemplateファイルでurlを指定するのにxxx_urlを使用していたのをxxx_pathを使用するよう修正しています。他のtemplateファイルと指定を合わせるため。


Logging out requires current session to be loaded

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

authenticate処理が不要なアクションの指定に誤りがあったのを修正しています。


Fix some more Rails 7.3 references

railties/lib/rails/application/configuration.rbの修正です。

deprecateメッセージ内の次のRailsのバージョンが7.3になっている箇所が残っていたのを、8.0に変更しています。


Declare Active Support dependency on securerandom >= 0.3

Active Supportの修正です。

Active Supportのdependencyとして、"securerandom", ">= 0.3"を指定するよう修正しています。Active Support内でsecurerandom gem 0.3で追加された機能を使用している箇所があり、古いsecurerandomが使われるとエラーになってしまうため。


Fix deprecation assertion targetting Rails 8.0

activerecord/test/cases/tasks/database_tasks_test.rbの修正です。

deprecateメッセージ内の次のRailsのバージョンが7.3になっていることをチェックしているテストがあったのを修正しています。


Remove 'channels' from getting_started.md

rails guideのGetting Started with Railsの修正です。

rails newで生成されるディレクトリについて説明している箇所から、channelsディレクトリの説明を削除しています。Remove channels from default app/ structureで削除されたため。