なるようになるブログ

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

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

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

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

railties/CHANGELOG.md


Merge pull request #50627 from koya1616/delete-fixed-FIXME

actionpack/test/dispatch/mapper_test.rbの修正です。

テスト内の現在は不要なTODOコメントを削除しています。


Merge pull request #50593 from p8/guides/add-english-and-oxford-comma-to-wording

rails guideのAPI Documentation Guidelinesの修正です。

American English、及び、Oxford CommaセクションをWordingセクション配下に移動しています。


Reset @target in subclasses

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

Association#resetで行っていた@targetの初期化処理をSingularAssociation#resetで行うよう修正しています。@targetはsingular associationの場合のみ初期化が必要な処理の為。


Optimize Hash#stringify_keys

Active Supportの修正です。

Hash#stringify_keys、及び関連メソッドでto_sメソッドが値を変換していたのを、値がSymbolの場合#nameメソッドを使用するよう修正しています。#to_sと異なりすでに存在するStringを返すから不要なオブジェクトの生成が減らせる為、及び、interned stringを使用する事になるので、それによりHash内部のテーブルのlook up処理を減らせる為、との事です。


Do not automatically require minitest-bisect

Gemfileの修正です。

minitest-bisectを自動でrequireをしないよう修正しています。minitest-bisectからの依存関係の解決でdrbがロードされる、かつ、drbでruby2_keywordsが使われているがruby2_keywordsがgemとしてロードされていないので古いバージョンのRubyでエラーになってしまう、という問題がある為、requireしないよう修正したとの事です。


Merge pull request #50647 from igor-alexandrov/stricter_brakeman

railties/lib/rails/generators/rails/app/templates/bin/brakeman.ttrailties/lib/rails/generators/rails/app/templates/github/ci.yml.ttの修正です。

Brakemanを実行する際に--ensure-latestを指定して最新バージョンが必ず使われるよう対応、及び、CIでは--no-pagerを指定してターミナルに結果が出力されるよう修正しています。


Enable Lint/SafeNavigationChain rubocop cop

.rubocop.ymlの修正です。

Lint/SafeNavigationChain copを有効化しています。


Do not generate pidfile in production environments (#50644)

railtiesの修正です。

production envではserverのpidファイルを生成しないよう修正しています。Docker containerを使用してアプリケーションを動かしている場合に、OOMなどでrestartが実行された場合、pidファイルがあるとファイルのせいでrestartが失敗してしまう、という事があり、それを避ける為。


Add oven-sh/setup-bun to GitHub CI when generating an app with bun

railties/lib/rails/generators/rails/app/templates/github/ci.yml.ttの修正です。

rails newのJSのランタイムオプションにBunを指定した場合、CIのstepにoven-sh/setup-bun@v1のuse処理を追加するよう修正しています。CIではBunのコマンドを使用出来るようにする為。


Merge pull request #50622 from seanpdoyle/document-render-in-examples

renderingのドキュメントに:renderable及び#render_inの説明を追加、Action ViewとAction Packのテストに:renderableオプションをrenderに指定した場合のテストの追加を行っています。


Merge pull request #50432 from fatkodima/better-docs-for-add_exclusion_constraint

activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rbのdocの修正です。

add_exclusion_constraintメソッドのdocに:using、及び、:whereオプションについての説明を追加しています。


Merge pull request #50670 from byroot/active-support-after-fork-check

Active Supportの修正です。

Process._forkが実行可能かのチェックを削除しています。サポートするRubyバージョンが3.1以上になり、必ずメソッドが使用出来る状態になった為。


Remove workaround for mail gem dependencies

gemspecの修正です。

mail gemの依存を>= 2.8.0に更新、及び、v2.8.0未満向けのワークアラウンドを削除しています。


Merge pull request #50667 from akhilgkrishnan/remove-blank-link-in-ci railties/lib/rails/generators/rails/app/templates/github/ci.yml.ttの修正です。

rails new--skip-brakemanオプションを指定した場合にgithub/ci.ymlに不要な空行が生成されてしまっていたのを削除しています。


Merge pull request #50657 from akhilgkrishnan/remove-codespell-from-ci

.github/workflows/lint.ymlの修正です。

CIで行っていたcodespellによるスペルチェックを行わないよう修正しています。修正が不要なタイポもときおりあるのですが、修正が必要なタイポをとそうでないタイポを判別する方法が無く、その状態でCIで実行する必要は無いのでは、という事で削除されたようです。


Merge pull request #50632 from skipkayhil/hm-move-chunk-test-to-actionpack

テストの修正です。

railtiesのテストで行っていたTransfer-Encoding chunkedに関するテストをAction Packに移動しています。Action Packの機能に関するテストの為。