なるようになるブログ

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

rails commit log流し読み(2021/10/14)

2021/10/14分のコミットです。

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

activejob/CHANGELOG.md

activerecord/CHANGELOG.md


Raise error when serializing an anonymous class.

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

serialize処理にanonymous classが設定されいないオブジェクト(Class.new)が指定された場合にSerializationErrorをraiseするよう修正しています。anonymous classだとdeserializeが出来ない為。


fix: duplicate active record objects on inverse_of

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

同じオブジェクトに重複した参照がある場合、collection associationが二重に保存されてしまうバグがあったのを修正しています。


Merge pull request #43003 from sambostock/set-timestamps-on-upsert-insert

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

bulk insert/upsert処理で全てのtimestamp columns({created,updated}_{at,on})に対してtouchを行うよう修正しています。timestams columnsの定義は、createupdateメソッドと同様にrecord_timestampsのconfigに依存するようになっています。


Document new record_timestamps option on insert_all

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

先のbulk insert/upsertでtimestampsを設定する対応について、CHANGELOGへのエントリーの追加、及び、ドキュメントの追加を行っています。


Update rubocop example command to include 'bundle exec'

rails guideのContributing to Ruby on Railsの修正です。

rubocopの実行例にbundle execを指定するよう修正しています。


Fix primary_abstract_class with engines

railties/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.ttの修正です。

engine用のapplication_record.rb.ttのtemplate内のprimary_abstract_classself.abstract_class = trueに修正しています。primary_abstract_classは複数定義されているとエラーになる、かつ、engineは複数作成される事があり、その場合にエラーになってしまう為。


Mark ActionFilter as nodoc

actionpack/lib/abstract_controller/callbacks.rbの修正です。

内部用のクラスにnodocの指定を追加しています。


Add document config.active_record.verbose_query_logs into Configuring Rails Applications [skip ci]

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

config.active_record.verbose_query_logsについての説明を追加しています。


Use webdriver 4.6.1 or higher to support selenium-webdriver 4.0.0

Gemfileの修正です。

webdriver gemについて、4.6.1以上を使用するよう修正しています。バージョン指定が無いとテストが通らない古いバージョンが使用されてしまう事がある為。


Fix CI not running on MySQL 5.5

activerecord/test/schema/mysql2_specific_schema.rbの修正です。

FULLTEXT indexesを使用しているテーブルにENGINE=MyISAMの指定を追加しています。MySQL 5.5がテストを通るようにする為。


Fix "Specified key was too long; max key length is 1000 bytes (Mysql2::Error)"

activerecord/test/schema/mysql2_specific_schema.rbの修正です。

max key lengthを1000 bytesを越える事があるテーブルに明示的にCHARSET=utf8を指定するよう修正しています。


Depend on Zeitwerk 2.5.0.beta6

activesupport/activesupport.gemspecの修正です。

Zeitwerkを2.5.0.beta6に更新しています。


Fix failing tests due to datetime with precision is not supported on MySQL 5.5

Active Supportのテストの修正です。

datetime + precisionのテストをMySQL 5.5で実行しないよう修正しています。MySQL 5.5では使用できない為。