2020/05/06分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activemodel/lib/active_model/attributes.rb
の修正です。
ActiveModel::Attributes
にinitialize_dup
メソッドを実装して、attributeをdup出来るよう対応しています。
Demonstrate connecting Active Storage to S3-compatible APIs [ci skip]
rails guideのActive Storage Overview
の修正です。
Digital Ocean SpacesのようなS3とAPIの互換性があるクラウドでActive Storageを使用する場合の説明を追加しています。
Revert "Merge pull request #39022 from kamipo/perf_where_in"
where
にvalueのArrayを指定した場合にオブジェクトの生成数を減らせるようリファクタリングした、Merge pull request #39022 from kamipo/perf_where_inをRevertしています。違う性能改善のPRと変更内容がコンフリしてしまい、そちらをMerge出来るようにする為、との事です。
Merge branch 'fix-array-builder-wheres'
Active Recordの修正です。
where
にvalueのArrayを指定した場合の性能改善として、同種の値がwhere
に指定された場合用のnodeを追加し、既存のnodeで行っていたがスキップ出来る処理を行わないようにして、処理を高速に行えるようにしています。
Add 3rd person aliases of Symbol#start_with?
and Symbol#end_with?
Active Supportの修正です。
Symbol#starts_with?
/ #ends_with?
メソッドを追加しています。
それぞれSymbol#start_with?
/ end_with?
のaliasとして定義されており、Symbol#start_with?
/ ends_with?
メソッドが定義されていない場合ようにSymbol#start_with?
/ ends_with?
メソッドの定義も追加しています。
Ensure array passed to preloader has no duplicate records by object_id
activerecord/lib/active_record/associations/preloader/association.rb
の修正です。
has_many through associationをpreloadした際に、同じレコードが複数ロードされてしまうバグがあったのを修正しています。
Merge pull request #38999 from zvkemp/action-view-instrument-layout
Action Viewの修正です。
layoutのrendering処理(TemplateRenderer#render_with_layout
)対してinstrumentation hookを追加しています。hook名はrender_layout.action_view
。
Ensure sqlite3_mem transaction tests run in memory
activerecord/test/cases/adapters/sqlite3/transaction_test.rb
の修正です。
SQLite3でパスをファイルURIとして認識させる為のフラグ(SQLite3::Constants::Open::URI
)の指定が漏れてしまっている箇所があったのを修正しています。
Preserve multiple arguments in Symbol#start_with? and Symbol#end_with?
activesupport/lib/active_support/core_ext/symbol/starts_ends_with.rb
の修正です。
Ruby本体と同様に、Symbol#start_with?
、Symbol#end_with?
に引数を複数渡せるよう修正しています。
Ensure type cast is not evaluated at relation build time
Active Recordの修正です。
type cast処理をrelation build時に行わないよう修正しています。query実行時に処理が実行される事を期待しているアプリがある為、との事です。
Remove redundant squish
for single line message
activemodel/lib/active_model/attribute_set/builder.rb
、
activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
の修正です。
1行メッセージを出力するのに不要なsquish
が指定されていたのを削除しています。
Merge pull request #39068 from jhawthorn/dependency_tracker_interpolation
actionview/lib/action_view/dependency_tracker.rb
の修正です。
ActionView::DependencyTracker
でinterpolated stringは無視するよう修正しています。
ActionView::DependencyTracker
は正規表現でtemplateを検索するのですが、Rubyのコードの解析はしておらず、interpolated stringを使用すると想定と異なるtemplateを取得してしまう可能性がある為。
Removes require_dependency from the AR test suite
Active Recordのテストの修正です。
テスト内でrequire_dependency
を使用していたのを、普通にrequire
/ load
でファイルをロードするよう修正しています。
update the documentation of require_dependency [ci skip]
activesupport/lib/active_support/dependencies.rb
の修正です。
require_dependency
メソッドのdocにzeitwerk modeの場合require_dependency
はobsoleteである(使用する必要が無い)旨説明を追加しています。
Merge pull request #39162 from kamipo/dogfooding_symbol_starts_ends_with
Symbol#start_with?
/ #end_with?
メソッドをRailsのコード内で使用するよう修正しています。