2020/05/03分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Remove require_dependency
usage in helper
[Closes #37632]
helper
メソッドでhelper moduleをロードする際に、require_dependency
を使用していたのを、String#constantize
を使用してのロードを使用するよう修正しています。
require_dependency
に依存していると、autoload pathsを$LOAD_PATH
に追加する必要があり、それを避ける為(config.add_autoload_paths_to_load_path
にfalseを指定出来るようにする為)。
これにより、helper "foo/bar"
とした場合、
require_dependency "foo/bar_helper" module_name = "foo/bar_helper".camelize module_name.constantize
という挙動になっていたのが、
prefix = "foo/bar".camelize "#{prefix}Helper".constantize
となっています。通常のユースケースでは恐らく問題ないですが、autoload pathsには存在しないが$LOAD_PATH
にのみ指定していたhelper pathにあるhelperをロードするような場合に影響があります。
actionpack/test/abstract_unit.rb
、
actionpack/test/controller/helper_test.rb
の修正です。
Test
をTes
にタイポしていたのを修正しています。
Fix actionview tests for missing helper
actionview/test/abstract_unit.rb
、
actionview/test/actionpack/abstract/helper_test.rb
の修正です。
先のhelper
メソッドの挙動変更の対応によりAction Viewのテストがエラーになってしまっていたのを修正しています。
Allow associations to be autosaved multiple times
activerecord/lib/active_record/autosave_association.rb
の修正です。
associationのautosaveが必ず一回しか実行されなくなってしまっていたのを、複数回実行されるよう修正しています。
save後にtransactionをrollbackしsaveを無効化し再度saveを行う、というような場合に実行されるようにする為。
Extract build_cast_value
for limit_value
and offset_value
activerecord/lib/active_record/relation/query_methods.rb
の修正です。
LIMIT
とOFFSET
のcast valueのbuild処理をメソッドに切り出しています。
Don't use deprecated column
in the error message
activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
の修正です。
エラーメッセージ内でdeprecateになったcolumn
を使用している箇所があったのを、使用しないよう修正しています。
Refactor preparable
to be had the state in Arel collectors
Active Recordの修正です。
preparableかどうかの情報を専用のmoduleで保持していたのを、Arel collectorsで保持するよう修正しています。
Fix random CI failure due to non-deterministic has_one record
activerecord/test/models/company.rb
の修正です。
テスト用のクラスのhas_one
associationにorder
の指定を追加しています。結果が不定になるのを避ける為。