2019/04/14分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activejob/CHANGELOG.md
Ensure multiple anonymous modules are not included into Topic in tests
activemodel/test/cases/validations/acceptance_validation_test.rb
の修正です。
validates_acceptance_of
validationのテストで、modelに直接テスト内でvalidationを追加していたのを、テスト用のでクラスを作成しそちらにvalidationを追加するようにしています。modelの状態をテスト内で変化させるのを避ける為。
deprecates autoloading constants during initialization [closes #35745]
railties/lib/rails/application/finisher.rb
の修正です。
config.cache_classes
がfalseの際に、initialization中のautoloading処理を行うのがdeprecatenになりました。
コードをreloadしてもapplicationは再起動されない為、initialization中の処理に実行されたコードは再実行されません。そのため、initialization中にautoloadされたクラスのコードを変更してもその変更はオブジェクトに正しく反映されない、という仕様になっていました。それらなそもそも、initialization中のautoloadingを許可しない方が挙動としてわかりやすいのでは、という話になりdeprecateになりました。いずれは明確にエラーとする予定との事です。
参考:Autoloading and Initializers
Don't expose add_to_transaction
activerecord/lib/active_record/touch_later.rb
、
activerecord/lib/active_record/transactions.rb
の修正です。
Rails内部でだけ使用する想定のadd_to_transaction
メソッドの可視性をprivateに変更しています。
Merge pull request #35956 from mrhead/fix-per-exception-retry-counter
activejob/lib/active_job/exceptions.rb
の修正です。
Keep executions for each specific exceptionでexception毎にexecution counterを指定出来るようになったのですが、retry delayの計算に使用するcounterがグローバルのcounterを使うようになったままになっていたので、delayの計算に使用するcounterもexception毎のcounterを使用するよう修正しています。
Remove useless update_attributes_from_transaction_state
and set_transaction_state
activerecord/lib/active_record/transactions.rb
の修正です。
不要なupdate_attributes_from_transaction_state
メソッド及びset_transaction_state
メソッドを削除しています。
Ensure acceptance validator is not applied more than once to Person
activemodel/test/cases/validations/i18n_validation_test.rb
の修正です。
validates_acceptance_of
validationのテストで、modelに直接テスト内でvalidationを追加していたのを、テスト用のでクラスを作成しそちらにvalidationを追加するようにしています。modelの状態をテスト内で変化させるのを避ける為。