2025/12/01分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activemodel/CHANGELOG.md
Add schematized json for has_json (#56258)
Active Modelの修正です。
JSON attributesにschmaを強制して使用する為のAPI(has_json、has_delegated_json)を追加しています。schemaで使用出来る型はboolean、integer、及びstringのみです。nest等は出来ません。has_delegated_jsonはhas_jsonを使用 + schema keyがそのままgetter/setterとして定義されるようになっています。
class Account < ApplicationRecord has_json :settings, restrict_creation_to_admins: true, max_invites: 10, greeting: "Hello!" has_delegated_json :flags, beta: false, staff: :boolean end a = Account.new a.settings.restrict_creation_to_admins? # => true a.settings.max_invites = "100" a.settings = { "restrict_creation_to_admins" => "false", "max_invites" => "500", "greeting" => "goodbye" } a.settings.greeting # => "goodbye" a.staff # => nil a.staff = true a.staff? # => true
activemodel/CHANGELOG.mdのdocの修正です。
エントリーのフォーマットの修正を行っています。
Fix typos on SchematizedJson [ci skip]
activemodel/lib/active_model/schematized_json.rbのdocの修正です。
コメント内のタイポを修正しています。
ActiveJob.perform_all_later should respect job_class.enqueue_after_transaction_commit
activejob/lib/active_job/enqueue_after_transaction_commit.rbの修正です。
ActiveJob.perform_all_laterがjob_class.enqueue_after_transaction_commitの設定を無視して全てのjobを即時に追加していたのを、enqueue_after_transaction_commitがtrueの場合、perform_laterと同様にcommit後にjobを追加するよう修正しています。
Merge pull request #56256 from zzak/re-56186
actionpack/lib/action_dispatch/middleware/remote_ip.rbの修正です。
IpSpoofAttackErrorのエラーメッセージに、Forwarded headerの情報も含むよう修正しています。HTTP_X_FORWARDED_FOR headerの情報は元々含まれるようになっており、エラーメッセージに含まれる情報を合わせるようにするため。
Stub bundle install for ApiAppGeneratorTest
railties/test/generators/api_app_generator_test.rbの修正です。
他のテストと同様に、bundle installをstubして実際には実行しないよう修正しています。bundle installの実行に数秒かかってしまうため、実行時間削減のため。
activemodel/CHANGELOG.md、
activemodel/lib/active_model/schematized_json.rbのdocの修正です。
has_jsonのexample内のタイポの修正を行っています。