2019/03/16分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Rename ActionView::Base#run
to #_run
Action Viewの修正です。
ActionView::Base#run
をActionView::Base#_run
にリネームしています。アプリ側でviewにrun
という名前のメソッドを定義しているケースがあるらしく、メソッド名が被ってしまうのを避ける為、_
prefixを指定するようにしています。
Merge pull request #35623 from jhawthorn/actionview_cache
Action Viewの修正です。
Template::Resolver
でファイルの更新日時元にキャッシュ可能かどうかチェックし、更新されていた場合のみキャッシュするようにしていたのを、更新日時に関わらず必ずキャッシュするよう修正しています。
現状、dev環境ではリクエスト毎にキャッシュはクリアされるようになっており、更新日時によるチェックは意味が無いため。
dev環境で、更新されたファイルのキャッシュのみ削除する対応については、[WIP] Only clear ActionView caches in dev when files changeで対応中との事です。
Merge pull request #35628 from jhawthorn/file_update_any_extension
activesupport/lib/active_support/evented_file_update_checker.rb
の修正です。
FileUpdateChecker
にディレクトリ + 空の拡張子を渡した際に、全ての拡張子のファイルをチェック対象にするよう修正しています。
Engines are reloaded in Zeitwerk mode [closes #35618]
activesupport/lib/active_support/dependencies/zeitwerk_integration.rb
の修正です。
enginesのコードをmain
autoloaderで管理するよう修正してます。
元々はonce
autoloaderで管理されており、一度しかloadされないようになっていました。が、engineはアプリ側の定数を参照している事があり、アプリ側のコードが変更&アプリ側のコードがreloadされた際に、engineもreloadしないと更新された値が正しく参照出来ない為、reloadされるようmain
autoloaderで管理するように修正しています。
Merge pull request #35634 from sharang-d/update-parameterize-docs
activesupport/lib/active_support/core_ext/string/inflections.rb
、
activesupport/lib/active_support/inflector/transliterate.rb
のdocの修正です。
ActiveSupport::Inflector.parameterize
メソッドのdocにlocale
オプションについての説明を追加、及び、各箇所のフォーマットの修正を行っています。
Active Recordの修正です。
Optimizer Hints用のメソッドを追加しています。
# MySQL Topic.optimizer_hints("MAX_EXECUTION_TIME(50000)", "NO_INDEX_MERGE(topics)") # SELECT /*+ MAX_EXECUTION_TIME(50000) NO_INDEX_MERGE(topics) */ `topics`.* FROM `topics` # PostgreSQL(pg_hint_plan) Topic.optimizer_hints("SeqScan(topics)", "Parallel(topics 8)") # SELECT /*+ SeqScan(topics) Parallel(topics 8) */ "topics".* FROM "topics"
MySQLは本体でサポートされていますが、PostgreSQLの場合は別途pg_hint_plan moduleのインストールが必要です。