2025/11/13分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activemodel/CHANGELOG.md
Merge pull request #56135 from thiagopradi/removing-unused-fixture-directory
Action Viewのテストの修正です。
使用していないfixturesを削除しています。
Merge pull request #56130 from lovro-bikic/symbol-error-messages-on-custom-attributes
activemodel/lib/active_model/validations.rbの修正です。
ActiveModel::Validations#read_attribute_for_validationにrecordに存在しないattributeが指定された場合に、exceptionをraiseしていたのをnilを返すよう修正しています。errors.addにcustom attributeを指定したような場合に、エラーメッセージ生成時にエラーにならないようにする為。
# User modelに`address` attributeはなし user.errors.add(:address, :invalid) user.errors.messages #=> 元はexceptionがraiseしていたのが、正しくエラーメッセージが返るようになっている
Merge pull request #56128 from muriloduarte/feat/actionpack-rate-limit-callable-to-and-within
actionpack/lib/action_controller/metal/rate_limiting.rbの修正です。
rate_limitのto、及び、withオプションに、callable(lambdaまたはproc)、または、メソッド名のsymbolを指定出来るよう修正しています。
class APIController < ApplicationController rate_limit to: :max_requests, within: :time_window, by: -> { current_user.id } private def max_requests current_user.premium? ? 1000 : 100 end def time_window current_user.premium? ? 1.hour : 1.minute end end
Merge pull request #56097 from djmb/parallel-test-reset-tables-with-delete
Active Recordの修正です。
parallel testでDBのtableの削除を行う際、MySQLではTRUNCATEではなくDELETEを使用するよう修正しています。格納されているデータ量にもよるのですが、rowが1000程度の場合だと、MySQLではDELETEの方が速いため。
Merge pull request #56143 from callmesangio/fix-performance-docs
rails guideのTuning Performance for Deploymentの修正です。
Pumaのconfigurationについて説明している箇所のタイポを修正しています。
Empty all tables with delete for trilogy
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb、
activerecord/lib/active_record/connection_adapters/mysql2/database_statements.rbの修正です。
先のparallel testの削除処理にDELETEを使用する対応が、mysql2 adapterの場合のみそうなっていたのを、trilogy adapterの場合も同じ挙動になるよう修正しています。