2019/02/12分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #35196 from gmcgibbon/clarify_collection_proxy_docs
activerecord/lib/active_record/associations/association.rb
、
activerecord/lib/active_record/associations/collection_proxy.rb
のdocの修正です。
ActiveRecord::Associations::CollectionProxy
のdocでActiveRecord::Associations::Association
について説明していたので該当の説明をActiveRecord::Associations::Association
に修正、及び、諸々言い回しを修正しています。
Optimized namespaces_to_paths method.
railties/lib/rails/command/behavior.rb
の修正です。
Behavior#namespaces_to_paths
メソッド内のpath生成処理で不要なオブジェクトを生成しないよう修正しています。
Merge pull request #35198 from paracycle/uk-change-config-for-behaviour
railties/lib/rails/application.rb
の修正です。
Use ActiveSupport::InheritableOptions and deep_symbolize_keys in config_for、[Realties] config_for as ActiveSupport::OrderedOptionsでRails::Application.config_for
メソッドで読み込んだ値をSymbol化 + ActiveSupport::OrderedOptions
で保持するようになったのですが、その影響で、元々出来ていたnested hashesに対してkeyをStringで指定してのアクセスができないようになっていました。
流石にこれはbreaking changeになってしまう為、keyがStringでもアクセスが出来るよう対応 + keyがStringの場合deprecatedメッセージを出すよう修正しています。
Avoid implicit delegation in the migration compatibility
activerecord/lib/active_record/migration/compatibility.rb
の修正です。
各種メソッドを呼び出す際に明示的にreceiverを指定するよう修正しています。
元々は暗黙的なdelegationに依存していたのですが、migration classでの暗黙的なdelegationはlogに記録されてしまう(migration実行時に呼び出したメソッドが表示されてしまう)為、明示的にreceiverを指定するよう修正しています。
Document queue_as block arguments and their use
activejob/lib/active_job/queue_name.rb
のdocの修正です。
queue_as
メソッドのdocにblockを指定出来る旨説明、及び、指定した場合のexampleを追加しています。
use a proxy matcher for AS::N fanout
activesupport/lib/active_support/notifications/fanout.rb
の修正です。
subscribersにregexpまたは他のpattern-matching objectを指定していた場合に、ActiveSupport::Notifications.unsubscribe
に指定した以外のpatternもunsubscribeされてしまう(subscribersのregexpに一致するsubscribersが全てunsubscribeされてしまう)、というバグがあったのを修正しています。
# before subscriber = ActiveSupport::Notifications.subscribe(/render/) { } ActiveSupport::Notifications.unsubscribe('render_template.action_view') subscriber.matches?('render_template.action_view') # => true subscriber.matches?('render_partial.action_view') # => true # after subscriber = ActiveSupport::Notifications.subscribe(/render/) { } ActiveSupport::Notifications.unsubscribe('render_template.action_view') subscriber.matches?('render_template.action_view') # => false subscriber.matches?('render_partial.action_view') # => true
railties/test/isolation/assets/package.json
の修正です。
railtiesのテストで使用するnpm packageの指定が不足していたのを修正しています。