なるようになるブログ

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

rails commit log流し読み(2019/04/09)

2019/04/09分のコミットです。

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

activerecord/CHANGELOG.md

activesupport/CHANGELOG.md


Update configuration of app directory and use oxford comma [skip ci]

rails guideのGetting Started with Enginesの修正です。

app Directoryの項でoxford commaを使用するよう修正しています。


Merge pull request #35888 from lxxxvi/documentation_change_foreign_keys_to_bigint_in_association_basics

rails guideのActive Record Associationsの修正です。

migrationファイルのexample内のintegerをbigint`に修正しています。


Wrap Mysql count of deleted rows in lock block to avoid conflict in test

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

MySQLでdeleteを実行する際にthread lockを行うよう修正しています。

削除処理を行ったスレッドとは別のスレッドを同じコネクションを使用した場合、削除したrowsのカウントが正しく取得出来ないというバグがあり、その対応の為。


Merge pull request #35890 from kamipo/except_table_name_from_column

Active Recordの修正です。

ConnectionAdapters::Column classからtable_name attributeを削除しています。

現在columnオブジェクトでtable_nameを保持しておく必要は無くなっている為。


Merge pull request #35887 from kamipo/argument_error

Active Recordの修正です。

migrationファイルのcolumnに指定するlimitprecisionオプションに不正な値を指定した場合にActiveRecordErrorをraiseしていたのを、ArgumentErrorをraiseするよう修正しています。

不正な値が指定された、というケースだとArgumentErrorの方が適切な為。


s/Travis/Buildkite/

CIについて説明している各箇所をTravis -> Buildkiteに修正しています。

CIについては今後Buildkiteだけを使用するようになる為。


Fix upsert method comment

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

upsertメソッドのdocに複数レコードを更新する旨説明が記載されていたのですが、実際は1レコードしか更新しないメソッドなので、その旨docを修正しています。


depend on Zeitwerk 2.1.0

Active Supportの修正です。

Zeitwerkのバージョンを~> 2.1に修正しています。

合わせて、Zeitwerk integrationからautoloaded_constantsメソッド及びautoloaded?メソッドを削除しています。Zeitwerkではloaded pathの管理をしないようになっており、その変更に合わせる為。代わりに、unloadedされてるかどうかのloader.to_unload?メソッドが追加されており、そちらを使用するようにしています。


cleanup up constant in test suite

railties/test/application/zeitwerk_integration_test.rbの修正です。

テスト内で追加した定数をテストの後処理で削除するよう修正しています。


Merge pull request #35904 from xrav3nz/fix/action-mailbox/test-helper-args

actionmailbox/lib/action_mailbox/test_helper.rbの修正です。

receive_inbound_email_from_sourceメソッドの引数指定に誤りがあったのを修正しています。


get_database_version is not public API [ci skip]

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

get_database_versionメソッドがAPI docに表示されないよう:nodoc:を指定しています。


Better spread out the railties tests

railties/Rakefileの修正です。

railtiesの処理が重いテストについて、テスト実行時間の予測を指定、及びその値を元にBuildkiteで実行するテストを分散するよう修正しています。各ビルドの実行時間が均等になるようにする為。


Bring back postgresql_version as an alias.

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

Cache database version in schema cacheで削除されたpostgresql_versionメソッドを再度使用出来るようにしています。

API docにのっており、public APIとして扱う必要がある(いきなり削除出来ない)為。実際にこのメソッドを使用しているgemもあるそうです。


Remove duplicated attribute alias resolution in _select!

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

_select!メソッド内で行っていた重複したattribute aliasに対する処理削除しています。arel_columnでも同じ処理を行っている為。