なるようになるブログ

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

rails commit log流し読み(2020/03/06)

2020/03/06分のコミットです。

CHANGELOGへの追加はありませんでした。


parent 6d0895a4894724e1a923a514daad8fb3c9ac2c28

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

retry_onjitterオプションに0以外の値を指定してもrandomな値にならない場合があったの(Kernel.randに渡す値が1-2の値になってしまって結果jitterの値が0になっていた)を修正しています。


Merge pull request #37808 from headius/optimize_string_inquirer

Active Support、railtiesの修正です。

Rails.envRails.env=で値を取得/指定する際にActiveSupport::StringInquirerを使用していたのを、envを取得する為のActiveSupport::EnvironmentInquirerクラスを追加し、そちらを使用するよう修正しています。

ActiveSupport::StringInquirermethod_missingを使用している、かつ、method_missingは遅い処理な為、Rails.env.devlopment?のようなチェック処理も比較的遅い処理になってしまっていました。

ActiveSupport::EnvironmentInquirerではデフォルトのenv("development", "test", "production")対してActiveSupport::StringInquirerで実行されるのと同等のメソッドを先に定義しておいて、method_missingが実行されるのを避けるようにしています。デフォルト以外のenvに対する処理は変わらず。


Revert "Merge pull request #37808 from headius/optimize_string_inquirer"

先のActiveSupport::EnvironmentInquirerを追加した対応をRevertしています。CIが不安定になってしまった為。後ほど再度コミットされています。


Refactor for_each(databases) code

activerecord/lib/active_record/railties/databases.rakeactiverecord/lib/active_record/tasks/database_tasks.rbの修正です。

for_eachの戻り値をnameからdb_configに変更し、db_configが必要な場合に再度nameから取得しないで済むよう修正しています。

が、nameだけ返していたのは意図的らしく、後ほどRevertされています。


Use optimized subclass of StringInquirer for Rails.env

Active Support、railtiesの修正です。

ActiveSupport::EnvironmentInquirerについて、実装をちょっと修正&autoloadの指定に追加し再度コミットしています。


Add attribution to the author

rails guideのDebugging Rails Applicationsの修正です。

Add logging performance [ci skip]で追加されたログの性能に関する説明がStackOverflowのanswer(https://stackoverflow.com/questions/16546730/logging-in-rails-is-there-any-performance-hit/16546935#16546935)からの盗用だったという事で、元のanswerを書かれた人の名前と StackOverflowへのリンクを引用元として記載するよう修正しています。


Revert "Merge pull request #38658 from eileencodes/refactor-for-each-databases-code"

for_eachの戻り値をnameからdb_configに変更した対応をRevertしています。


Merge pull request #38665 from roramirez/test-master-new-app

railties/test/generators/app_generator_test.rbの修正です。

rails new--masterオプションを指定した場合のテストを追加しています。


Fix database configruation for multi-db

railties/test/isolation/abstract_unit.rbの修正です。

multi-db用のconfigの指定で、replicaの指定に誤りがあった(replicareadonlyになっていた)のを修正しています。