なるようになるブログ

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

rails commit log流し読み(2021/02/02)

2021/02/02分のコミットです。

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

activejob/CHANGELOG.md


Reduce allocations in camelize inflector

activesupport/lib/active_support/inflector/methods.rbの修正です。

camelize inflectorでオブジェクト生成数を減らすようリファクタリングしています。


Stop setting RAILS_ENV when test_unit railtie is loaded

railties/lib/rails/test_unit/railtie.rbの修正です。

railtie loaded時に、rake task名を元にRAILS_ENVを設定していたのを、設定しないよう修正しています。テストの為の設定だったのですが、現在は不要な為。


Pass binds through on PostgreSQL exec_query even when prepared statements are off globally https://github.com/rails/rails/commit/724b733c454a56d8a32be54fdbdf6a0a60379642

activerecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。

prepared statementsがglobalでoffになっている場合に、bindsが渡されずにexec_queryがエラーになるバグがあったのを修正しています。


Merge pull request #41093 from gwincr11/action-job-transactions

activerecord/lib/active_record/associations/association.rbactiverecord/lib/active_record/associations/builder/association.rbの修正です。

destroy asyncのjobを、DBトランザクションがコミットされた後にenqueueするよう修正しています。


Merge PR #41218 branch 'add-strict-loading-doc' into main

activerecord/CHANGELOG.mdactiverecord/lib/active_record/core.rbのdocの修正です。

strict_loading!に関するdocの言い回しを修正しています。


Merge pull request #40927 from islue/skip-logging-rescuable-exceptions

Active Jobの修正です。

rescue_fromで定義されているrescue対象のexceptionについては、エラーのログを出力しないよう修正しています。


Fix enum predicate methods on object enum keys

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

enumのpredicateメソッドを呼び出す際に、enumの指定時に使用したkeyをそのまま使用するよう修正しています。他のenumのメソッドと挙動を合わせる為。


attribute should not require a connection is established

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

adapter_name_fromメソッドでconnectionを使用していたのを、使用ないよう修正しています。classの定義時にDBに接続しようとするのを避ける為。


Fix Mysql schema for virtual column expressions with quotes

activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rbの修正です。

escape sequenceが含まれているgenerated columns expressionsをschemaファイルにdumpする際に、escape sequenceが二重にescapeされてしまうバグがあったのを修正しています。


Optimize underscore inflector

activesupport/lib/active_support/inflector/methods.rbの修正です。

underscoreに対するinflector処理で、オブジェクト生成数を減らすようリファクタリングしています。


Optimize humanize inflector

activesupport/lib/active_support/inflector/methods.rbの修正です。

humanizeに対するinflector処理で、オブジェクト生成数を減らすようリファクタリングしています。


Address Rails 7.0 will return Content-Type header without modification

actionmailbox/app/controllers/action_mailbox/ingresses/relay/inbound_emails_controller.rbの修正です

Content-Type headerに関するwarningが出ている箇所があったのを修正しています。


Add missing require to ActiveJob::TestHelper

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

active_support/testing/assertionsのrequireが不足していたのを修正しています。


Address warning: Passing only keyword arguments

Struct#initializeに渡す引数をキーワード引数だけにするよう修正しています。

Ruby 3.1から、キーワード引数しか受け取らないようになった為。

参考: Feature #16806: Struct#initialize accepts keyword arguments too by default - Ruby master - Ruby Issue Tracking System