なるようになるブログ

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

rails commit log流し読み(2021/05/19)

2021/05/19分のコミットです。

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

activerecord/CHANGELOG.md

railties/CHANGELOG.md


Support NullsFirst for all databases.

Active Recordの修正です。

asc.nulls_firstPostgreSQLでだけ動作するようになっていたのを全てのDB(DB側がサポートしている場合)で動作するよう修正しています。


Merge pull request #42230 from ricardotk002/correct-null-flash-api

Action Packの修正です。

sessionがdisableになっている時、空のflash objectを返すよう修正しています。


Make ActiveRecord::Base.logger a class_attribute

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

ActiveRecord::Base.loggermattr_accessorからclass_attributeに変更しています。ancestor chainが長くなるようなクラスの場合、class variableだとパフォーマンス的に良くない為。 この対応により、直接@@loggerを参照するのが出来なくなったり、子クラスでloggerを変更した場合親クラスには反映されなくなったりしています。

参考: Feature #17763: Implement cache for cvars - Ruby master - Ruby Issue Tracking System


Fix ruby-master test suite (Psych 4.0.0)

Active Record、railtiesの修正です。

Psych 4でloadがデフォルトでsafe modeになってしまった影響でYAMLの設定ファイルとschema cacheをロードする処理が壊れてしまった為、それらの箇所では、YAML.unsafe_loadを使ってPsych 3までと同じパース結果になるよう修正しています。