rails commit log流し読み(2024/11/22) - なるようになるブログ

なるようになるブログ

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

rails commit log流し読み(2024/11/22)

2024/11/22分のコミットです。

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

actionview/CHANGELOG.md

activesupport/CHANGELOG.md


Handle edge cases in ActionView::Template::Handlers::ERB.find_offset

actionview/lib/action_view/template/handlers/erb.rbの修正です。

エラー発生時に行うERBテンプレートのエラー発生箇所の取得処理で、特定のケース(e.g. <%= goodcode %><%= nomethoderror %>)で処理が無限ループになってしまうバグがあったのを修正しています。


Reword error message for NoDatabaseError

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

指定されたdatabaseが見つからなかった場合のエラーメッセージの言い回しを修正しています。


Fix ERB template highlighting crash when compiled longer than source

actionview/lib/action_view/template/handlers/erb.rbの修正です。

エラー発生時に行うERBテンプレートのエラー発生箇所の取得処理で、コンパイル後のテンプレートでのエラー発生箇所の行数が、元のテンプレートの行数を越えてしまった場合にエラーになってしまうバグがあったのを修正しています。


Merge pull request #53680 from jdelStrother/file-update-checker

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

ActiveSupport::FileUpdateCheckerのpathのglob処理で、pathにネストした中括弧を使用していたのを、使用しないよう修正しています。

# before
Dir["{app/assets/stylesheets/**/*.{css,scss,js}}"]

# after
Dir["app/assets/stylesheets/**/*.{css,scss,js}"]

前者のケースだと、appapp/assetsなどのpathのネスト毎 + 各拡張子毎でsystem callが実行されてしまい、後者のケースと比べて大分遅くなってしまう為、との事です。


Fix finding by nil composite primary key association

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

composite primary keyを使用しているassociationに対して、find_byメソッドでnilを指定した場合に、NoMethodErrorがraiseしてしまうバグがあったのを修正しています。