2019/09/24分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activestorage/CHANGELOG.md
Extract ActiveJob::Instrumentation
Active Jobの修正です。
Active Jobのinstrument処理をActiveJob::Instrumentation moduleに切り出しています。
Resolve Hash with url key as a UrlConfig
activerecord/lib/active_record/connection_adapters/resolver.rb、
activerecord/lib/active_record/database_configurations/hash_config.rbの修正です。
Database ConfigurationsがHashでも、urlがkeyが含まれている場合はDatabaseConfigurations::UrlConfigで処理を行うよう修正しています。
Active Recordの修正です。
一箇所でしか使用していないUrlConfig#url_config?メソッドを削除し、使用していた箇所で直接チェックするよう修正しています。
Make UrlConfig a subclass of HashConfig
Active Recordの修正です。
DatabaseConfigurations::UrlConfigをDatabaseConfigurations::HashConfigの子クラスにして、共通した処理を使いまわせるよう修正しています。
Move ActiveJob::Exceptions#instrument to ActiveJob::Instrumentation
activejob/lib/active_job/exceptions.rb、
activejob/lib/active_job/instrumentation.rbの修正です。
ActiveJob::Exceptions#instrumentメソッドをActiveJob::Instrumentation moduleに移動しています。
Delegate ActiveJob::Base#queue_adapter to class
Active Jobの修正です。
ActiveJob::Base#queue_adapterをclassにdelegateするようにして、レシーバーの指定なしでメソッドを呼べるよう修正しています。
が、delegateの指定先に誤りがあり後ほど修正されています。
Fix typo in actionpack changelog, a HTTP -> an HTTP [ci skip]
actionpack/CHANGELOG.mdの修正です。
a HTTP -> an HTTPに修正しています。
Fix typo /a HTTP/an HTTP/ [ci skip]
activestorage/app/models/active_storage/blob.rbのdocの修正です。
a HTTP -> an HTTPに修正しています。
Fix queue adapter class delegation to point to self.class
activejob/lib/active_job/queue_adapter.rbの修正です。
queue_adapterのdelegateの指定先に誤りがあったのを修正しています。
Unify rotate method definitions to take keyword arguments
activesupport/lib/active_support/messages/rotation_configuration.rbの修正です。
rorateメソッドでキーワード引数を受け取れるよう引数の指定を修正しています。
template_exists? takes keyword arguments
actionview/lib/action_view/renderer/template_renderer.rbの修正です。
キーワード引数にdouble splatを指定するよう修正しています
add_foreign_key takes keyword arguments
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb、
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rbの修正です。
add_foreign_keyメソッドでキーワード引数を受け取れるよう引数の指定を修正しています。
Unify foreign_key method signatures to take keyword arguments
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rbの修正です。
add_foreign_keyメソッドの引数指定の修正で、修正漏れがあったのを修正しています。
t.string takes keyword arguments
activerecord/lib/active_record/internal_metadata.rbの修正です。
キーワード引数にdouble splatを指定するよう修正しています
form_with takes keyword arguments
actiontext/test/template/form_helper_test.rbの修正です。
form_withメソッドでキーワード引数を受け取れるよう引数の指定を修正しています。
let zeitwerk:check report files outside the root directory with absolute paths
railties/lib/rails/tasks/zeitwerk.rakeの修正です。
zeitwerk:checkで問題があったファイルのパスを表示する際に、アプリケーションの外にある(gem等)ファイルのパスが正しく表示されないバグがあったのを修正しています。
Fixed typo in comment in ActionCable::Connection::TestCase [ci skip]
actioncable/lib/action_cable/connection/test_case.rbの修正です。
ActionCable::Connection::TestCaseのdocのグラマーの修正を行っています。
Always create ActiveStorage::Blob before uploading to service
activestorage/app/models/active_storage/blob.rbの修正です。
Blob.create_after_upload!、Blob.build_after_uploadメソッドがdeprecateになり、代わりにBlob.create_and_upload!が追加されました。
Blob.create_after_upload!、Blob.build_after_uploadは名前の通り、先にstorageへのアップロード処理を行ない、その後DBへの保存(またはビルド)を行うようになっていました。
しかし、それだと既に使用されているのと同じkeyを別のファイルで使用した場合、アップロードは成功するがDBへの保存はユニーク制約で失敗してしまい、結果処理としては失敗しているのだがアップロードだけ行われてしまう(同じkeyなので後からアップロードしたファイルで内容が更新されてしまう)、という問題が発生していました。
そのため、問題があるメソッドはdeprecateとして、代わりにDBへの保存処理を先に行うBlob.create_and_upload!`メソッドを追加し、そちらを使用するよう各箇所を修正しています。
Shush deprecation warnings in ASt tests
activestorage/test/models/blob_test.rbの修正です。
deprecateメッセージが出力される処理をassert_deprecatedで囲むよう修正しています。
Fix typo: overwrittein → overwritten
activestorage/app/models/active_storage/blob.rbのdocの修正です。
overwrittenをoverwritteinにタイポしていたのを修正しています。
Merge pull request #37280 from seejohnrun/use-db-config
Acitve Recordの修正です。
database configurationsの値を参照する際に、configuration_hashを直接参照していたのを、ラッパーメソッド経由で値を取得するよう修正しています。
configuration hashの直接参照はしないようにしたい為、との事です。
Fix typo in changelog entry [ci skip]
activestorage/CHANGELOG.mdの修正です。
corruptionをcurruptionにタイポしていたのを修正しています。
Instantiate ConnectionPool with a DatabaseConfig rather than a ConnectionSpecification
Active Recordの修正です。
ConnectionPoolのインスタンスの生成処理でConnectionSpecificationを渡すようになっていたのを、他のクラスと同様にDatabaseConfigを渡すよう修正しています。