なるようになるブログ

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

rails commit log流し読み(2023/12/21)

2023/12/21分のコミットです。

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

activerecord/CHANGELOG.md


Fix async queries to work with query cache

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

cacheされたqueryに対してasync queryを実行した場合に、戻り値がpromiseにならないバグがあったのを修正しています。


Expose assert_queries_match and assert_no_queries_match assertions

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

Railsのテストで使用されていた、特定のSQLが実行されかどうかをチェックする為のassertions(assert_queries_matchassert_no_queries_match)をpublic APIとして公開しています。

assert_queries_match(/LIMIT \?/, count: 1) { Post.first }
assert_queries_match(/LIMIT \?/) { Post.first }

# schema関係のSQLをチェックしたい場合
assert_queries_match(/FROM pg_attribute/i, include_schema: true) { Post.columns }
assert_no_queries_match(/SELECT/i) { post.comments }

assert_no_queries_match(/FROM pg_attribute/i, include_schema: true) { Post.columns }

合わせて、Expose assert_queries and assert_no_queries assertionsで公開されたassert_queriesassert_queries_countにリネームしています。実際にチェックしている内容とメソッド名を合わせる為。