なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2020/04/14)

2020/04/14分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Merge pull request #38914 from jasonhl/less-path-info

actionpack/lib/action_dispatch/journey/router.rbの修正です。

routesの検索処理でpath infoの呼び出し処理を減らすようリファクタリングしています。


Fix perform_enqueued_jobs without a block with other helpers

activejob/lib/active_job/test_helper.rbの修正です。

Perform enqueued jobs only onceの対応により、perform_enqueued_jobsを違うhelperのblock内でblock無しで実行した場合に処理が正しく行われないリグレッションが発生していたのを修正しています。


Merge pull request #36125 from lulalala/doc-for-model-errors

Active Modelの修正です。

Hashベースで管理していたActive Modelのエラーをクラス(ActiveModel::Error)で管理するよう対応した、Model error as objectのフォローアップとして、docの追加、deprecateメッセージに置き換え先のメソッドを含むよう修正、対応が不足していたdepreacte対応等を行っています。


Load XML Builder if it is not available

activesupport/lib/active_support/core_ext/hash/conversions.rbの修正です。

Hash#to_xmlactive_support/builderのロードする条件がBuilderが定義されているかどうかだけだったのを、Builder::XmlMarkupが定義されているかどうかもチェックするよう修正しています。

ユーザが独自にBuilder定数を定義した場合にもロード処理が行われるようにする為。


Merge pull request #36941 from ts-3156/master

activesupport/lib/active_support/cache/file_store.rbの修正です。

ActiveSupport::Cache::FileStore#clearメソッドで、ディレクトリ削除時にErrno::ENOTEMPTYが発生しても無視するよう修正しています。


Fix Builder::XmlMarkup lazy load in Array#to_xml

activesupport/lib/active_support/core_ext/array/conversions.rbactivesupport/lib/active_support/core_ext/hash/conversions.rbの修正です。

先程行われたactive_support/builderのロードする条件の修正について、Array#to_xmlについても同様にBuilder::XmlMarkupが定義されているかどうかをチェックするよう修正しています。


Add option to set X-Original-To for systems that route on envelope addressing

actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rbの修正です。

develiomentで検証用用にinbound mailを作成する際に、X-Original-Toもフォームから指定出来るよう修正しています。


No need to deprecate Errors#first

activemodel/lib/active_model/errors.rbの修正です。

Active Modelのエラーをクラス(ActiveModel::Error)で管理するようにした対応で、deprecateにする必要が無いメソッド(クラスベースでも使用出来るメソッド)をdeprecate対象から外しています。


Prevent has_one from touching parent record unless persisted

activerecord/lib/active_record/associations/has_one_association.rbの修正です。

DB保存されていない状態でhas_one associationに対するbuild_associationを複数回実行した場合に、associationに指定されているtouching処理を行わないよう修正しています。親modelにdependent: :destroyが指定されている場合に、不要な削除処理を実行されてしまうのを避ける為。


Update SchemaCacheTest#schema_dump_path

activerecord/test/cases/connection_adapters/schema_cache_test.rbの修正です。

schema dumpの出力先を指定するのに、既に定義されている定数を使用するよう修正しています。