2019/07/17分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #36667 from gmcgibbon/clarify_logger_set_in_log_subscriber_docs
activesupport/lib/active_support/log_subscriber.rb
のdocの修正です。
ActiveSupport::LogSubscriber
クラスのdocに、ActiveSupport::LogSubscriber
を使用するにはActiveRecord::LogSubscriber.logger=
の設定が必要(Rails内で使用する場合は自動で設定される)である旨説明を追加しています。
Merge pull request #36648 from louim/patch-1
activesupport/lib/active_support/message_verifier.rb
のdocの修正です。
ActiveSupport::MessageVerifier#generate
メソッドのdoc内の戻り値についての説明を、実際の内容と合うよう修正しています。
Raise specific exception on Mysql2::Error::TimeoutError
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
、
activerecord/lib/active_record/errors.rb
の修正です。
timeoutが発生した時に使用する為のActiveRecord::AdapterTimeout
クラスを追加ています。元々MySQLでtimeoutが発生した場合、Mysql2::Error::TimeoutError
がraiseされていたのですが、今後はActiveRecord::AdapterTimeout
がraiseされるようになります。
activerecord/lib/active_record/errors.rb
のdocの修正です。
ActiveRecord::AdapterTimeout
クラスのdocの末尾にピリオドを追加しています。
[ActiveRecord] Superclass for aborted queries
activerecord/lib/active_record/errors.rb
の修正です。
queryが中断された事を意味するエラークラス(QueryAborted)を追加し、timeout等でqueryが中断された場合に使用される
StatementTimeout、
QueryCanceled、
AdapterTimeoutの親クラスを
QueryAborted`に変更しています。queryが中断された場合のエラーハンドリングをしやすくる為。
rails guideのGetting Started with Engines
の修正です。
engineが生成するディレクトリについて説明している箇所に、既に生成しないようになっているディレクトリ(app/assets/javascripts
)が含まれていたのを削除しています。
Support beginless ranges in hash conditions.
activerecord/lib/arel/predications.rb
の修正です。
Active RecordにRuby 2.7で追加されたbeginless rangesのサポートを追加しています。
User.where(created_at: ..1.year.ago) # User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."created_at" <= ? LIMIT ? [["created_at", "2018-07-17 08:49:18.150570"], ["LIMIT", 11]]
みたいに書けるようになっています。
Merge pull request #36690 from cpruitt/make-parameterize-requires-utf-8-explicit
activesupport/lib/active_support/inflector/transliterate.rb
の修正です。
ActiveSupport::Inflector.transliterate
メソッドの先頭で引数に指定されたStringがUTF-8じゃない場合、ArgumentError
をraiseするよう修正しています。
元々transliterate
はUTF-8以外のStringを指定した場合にエラーになる(Encoding::CompatibilityError
がraiseされる)ようになっており、UTF-8以外はサポートしていない事が明示的にわかるようする為にArgumentError
をraiseするように修正したとの事です。
が、UTF-8以外のStringを指定した場合にエラーになる、に勘違いあったようで、後ほどRevertされています。