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
を渡すよう修正しています。