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を削除しています。