なるようになるブログ

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

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

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

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

activesupport/CHANGELOG.md

activerecord/CHANGELOG.md


Merge pull request #52892 from Shopify/assign_ids_first

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

Active Record attributeのassignment処理で、id attributesを最初に設定するよう修正しています。assign_nested_parameter_attributesを削除した、Remove ActiveRecord::AttributeAssignment#assign_nested_parameter_attributesをRevertしたChange assign_attributes to assign the association's _id first. Fixes…の影響で、store accessorを使用しているattributeへのassign処理の挙動が変わってしまい、元の挙動を維持するため、との事です。

が、この変更自体がbreaking changeになってしまており、問題になる可能性がある為、後ほどRevertされています。


Suppress a RuboCop offense after running rails new with --devcontainer

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

DevContainer用の設定をtest/application_system_test_case.rbに追加する際に、不要な空行が追加されないよう修正しています。


Do not populate CurrentAttributes#attributes when not using defaults

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

ActiveSupport::CurrentAttributesattributeをdefaultの指定無しで使用していた場合に、ActiveSupport::CurrentAttributes#attributesメソッドを実行した際に値の設定処理を行わないよう修正しています。Rails 7.1までと同じ結果を戻すようにするため(この挙動に依存しているmiddlewareがあった為との事)。


Revert "Assign id attributes first in Active Record attribute assignment"

Active Record attributeのassignment処理について対応した、 Assign id attributes first in Active Record attribute assignmentをRevertしています。


Fix a documentation name mismatch in cookies.rb

actionpack/lib/action_dispatch/middleware/cookies.rbのdocの修正です。

ActionDispatch::Cookiesのdoc内のexampleコードで、getterメソッドについて説明しているのにsetterメソッドを使用している箇所があったのを修正しています。


Call prerecord in test parallelization

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

rails test-vオプションを指定、かつ、parallel testが使用された場合に、テスト名が表示されないバグがあったのを修正しています。


Skip solid_cable gem if skip_action_cable is set (#52919)

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

rails newskip_action_cableオプションが指定された場合に、solid_cable gemの設定を行わないよう修正しています。


[ci-skip][docs] Add missing migration version

rails guideのActive Record Basicsの修正です。

Creating Active Record Modelsセクションにあるmigrationファイルのexampleコード内にmigration versionの記載が無かったのを追加しています。


No new apps should be started with sprockets (#52887)

railtiesの修正です。

rails newで新規にアプリケーションを生成する場合の設定及びオプションからSprockets用の処理及びファイルを削除しています。これにより、新規にアプリケーションを作成する際にSprocketsを使用する事は出来なくなっています。


Action Text generator can now rely on Propshaft (#52918)

Action Text、railtiesの修正です。

Action Text generatorがSprockett用の設定を生成していたのを、Propshaft用の設定を生成するよう修正しています。


Update remaining migration version 7.2 to 8.0 [ci-skip]

rails guideの修正です。

migrationファイルのexampleのmigration versionを8.0に更新しています。


Merge pull request #52916 from arzezak/add-if-not-exists-to-postgres-add-enum-value

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

PostgreSQL adapterで、add_enum_valueメソッドに:if_not_existsオプションを指定出来るよう修正しています。


Fixup enum schema methods' signature to accept kwargs

activerecord/lib/active_record/connection_adapters/abstract_adapter.rbactiverecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。

enum schema用のメソッドで、キーワード引数を指定出来るようシグネチャを修正しています。


Fix Rubocop errors for Rails apps without jbuilder

railties/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.ttrailties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.ttの修正です。

scaffold controller generatorが生成するファイル内にRubocopのチェックでエラーになるコードがあったのを修正しています。