なるようになるブログ

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

rails commit log流し読み(2022/09/28)

2022/09/28分のコミットです。

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

activerecord/CHANGELOG.md

activestorage/CHANGELOG.md

activesupport/CHANGELOG.md


Facilitate use of any regular ERB in database.yml

Active Record、railtiesの修正です。

複数DB用のtaskをロードする際にdatabase.ymlをERBのパース無しで読み込むようになっていた(ダミー文字列を使用するようになっていた)のですが、それだとYAMLのkeyにERBを使用している場合(e.g. shard_<%= i %>:)にYAMLのパースエラーになってしまう為、ERBのパースを行うよう処理を戻しています。このパースをしないようにした対応は、そもそもdatabase.ymlでenvに依存した値を定義している場合にエラーになってしまう、という問題があった為対応が行われたのですが、こちらは、定義されていない値の参照があった場合にエラーにならないよう修正する事で対応されています。合わせて、この対応により不要になったconfig.active_record.suppress_multiple_database_warningをdeprecatedにしています。


Fix incorrect error class for raise_on_open_redirects in guide

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

config.action_controller.raise_on_open_redirectsを指定する場合に発生するエラークラスが、実際にraiseするクラスと異なっていたのを修正しています。


Merge pull request #45837 from hahmed/ha/active-storage-fix-rotation-test-failing

activestorage/lib/active_storage/analyzer/video_analyzer.rbの修正です。

FFmpeg v5.0+ を使用している場合に、rotation値が正しく取得出来ないバグがあったのを修正しています。


Merge pull request #45628 from asavageiv/alan/fix-lock-documentation [ci-skip]

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

ActiveRecord::Locking::Pessimistic#with_lockのdocに、recordのreload処理が行われる旨説明を追加しています。


Merge pull request #46120 from rails/rescue-template-paths

Action Pack、railtiesの修正です。

ActionDispatch::DebugViewで保持してるrescue対象のtemplate pathをArrayで保持するよう修正しています。engineからrescue templateのpathを指定する方法が現在なく、hack出来るようにする為のとりあえずの対応との事です。


Merge pull request #45081 from iheanyi/iheanyi/custom-query-log-tags-separators

Active Recordの修正です。

query log内のtagの区切り文字が:固定だったのを、query_log_tags_formatで指定したformatterで切り替えられるよう修正しています。現在指定出来るのは:legacy(元の挙動)と:sqlcommenterで、:sqlcommenterを指定した場合は区切り文字が=になるようになっています。これはGoogleの同名のライブラリと挙動を合わせる為、との事です。

参考: Introducing Sqlcommenter: An open source ORM auto-instrumentation library | Google Cloud Blog


Merge pull request #45790 from mikeletscher/bind-attribute-primary-key-relation

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

associationのprimary keyを指定している場合、uniqueness validationのチェックもその指定されているprimary keyで行うよう修正しています。


Filter reloaded classes in Class#subclasses and Class#descendants core exts

activesupport/lib/active_support/core_ext/class/subclasses.rbactivesupport/lib/active_support/descendants_tracker.rbの修正です。

Class#subclassesClass#descendantsでreloadされたクラスは自動でフィルターするよう修正しています。DescendantTracker#subclassesDescendantTracker#descendantsと挙動を合わせる為。