2021/02/09分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
significant method is not significant anymore
activesupport/lib/active_support/number_helper/rounding_helper.rb
の修正です。
一箇所でだけ使われていたオプションチェック用のメソッドを、インラインで行うよう修正しています。
Add ActiveRecord::Base.connection.with_advisory_lock
Active Recordの修正です。
session levelのadvisory lockを取得するActiveRecord::Base.connection.with_advisory_lock
メソッドを追加しています。lockは指定されたblockの間のみ有効です。lockが既に取得されている場合、false
がreturnするようになっています。
Allow Adapter#select_all to be performed asynchronously from a background thread pool
Active Recordの修正です。
Active Recordでqueryの実行をthread poolを使用して非同期で実行出来るよう修正しています。このPRではAbstractAdapter
への非同期処理の導入までで、Relation
への対応等はこれから、との事です。
Merge pull request #41363 from ricardotk002/use-enumerator-all-with-classes
Enumerator#all?
、Enumerator#any
でiterateして特定のクラスかどうかをチェックしていたのを、引数に直接クラスを指定するよう修正しています。
if variant.all? { |v| v.is_a?(Symbol) } if variant.all?(Symbol)
直接クラスを指定出来るケースでは、直接クラスを指定した方がはやいため。
Merge pull request #41325 from damiann/damiann/autoload_grammar_fix
rails guideのAutoloading and Reloading Constants (Zeitwerk Mode)
の修正です。
$LOAD_PATH
の項のグラマーの修正を行っています。
Merge pull request #40441 from olivierlacan/doc/update-has-secure-password
rails guideのSecuring Rails Applications
の修正です。
User Management
の項にあるhas_secure_password
についての古い説明を削除しています。
Merge pull request #41370 from kamipo/serialized_attribute_on_alias_attribute
activerecord/lib/active_record/attributes.rb
、
activerecord/lib/active_record/enum.rb
の修正です。
alias_attribute
にserialize
で指定したattributeを指定出来るよう修正しています。
Handle nil key for MemCacheStore#normalize_key
activesupport/lib/active_support/cache/mem_cache_store.rb
の修正です。
MemCacheStore#normalize_key
で引数のkey
がnilの場合にエラーになってしまうバグがあったのを修正しています。
Fix the cache key to remove reference to md5
activesupport/lib/active_support/cache/mem_cache_store.rb
の修正です。
先のMemCacheStore#normalize_key
の対応が一部コードが古い内容になってしまっていたのを修正しています。
Fix warning with Ruby 2.7 on Time.at with keyword arguments
activesupport/lib/active_support/core_ext/time/calculations.rb
の修正です。
Time.at
にキーワード引数を指定した場合に、キーワード引数に関するwarningが出てしまっていたのを修正しています。
Merge pull request #41371 from kamipo/allow_build_multiple_records
activerecord/lib/active_record/association_relation.rb
、
activerecord/lib/active_record/relation.rb
の修正です。
association relationでない場合も、build
で複数レコードを指定出来るよう修正しています。
元々は、post.commnets.where(foo: "bar").build([obj1, obj2])
が出来るが、Comment.where(foo: "bar").build([obj1, obj2])
が出来ない、という状況だったのですが、それは不自然だろうという事で修正されています。
Merge pull request #41319 from kamipo/fix_scoping_to_take_only_equality
activerecord/lib/active_record/relation.rb
、
activerecord/lib/active_record/relation/where_clause.rb
の修正です。
scope_for_create
メソッドでEquality
nodeのみ受け取るよう修正しています。
元々は、In
nodeがEquality
nodeのサブクラスのである為に、In
nodeも受け取るようになってしまっており、結果、インスタンスのcreate処理で、予想外にIn
で指定した条件の影響を受けるようになってしまっていた為。
Remove require "active_support/core_ext/symbol/starts_ends_with"
Ruby 2.7以上のみをサポートすることで不要になったactive_support/core_ext/symbol/starts_ends_with
のrequireを削除しています。