なるようになるブログ

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

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

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

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

actionpack/CHANGELOG.md


Handle broken encoding in #write_query?

Active Recordの修正です。

#write_query?メソッドに不正なエンコーディングの文字列を指定した場合に、read queryかどうかをチェックする正規表現でのチェック処理でArgumentErrorが発生してしまっていたのを修正しています。エラーになった場合は、文字列をASCII-8BITにしてから再度チェックするようにしています。


Fixes typo in 7_0 guide

rails guideのRuby on Rails 7.0 Release Notesの修正です。

7.0 Release Notes内のグラマーの修正を行っています。


ActionController::TestCase: reset instance variables after each request

actionpack/lib/action_controller/test_case.rbの修正です。

ActionController::TestCaseで、リクエスト毎にインスタンス変数をリセットするよう修正しています。元々はリセットをしていなかったのですが、これだと、1つのテストで同じリクエストを実行した場合に、最初のリクエストの値がキャッシュされてしまい、2回目のリクエストで1回目のリクエストの時の値が返されてしまう、という問題があった為修正しています。


Do not use a binary encoded regexp to avoid warnings

activerecord/lib/active_record/connection_adapters/abstract_adapter.rbの修正です

.build_read_query_regexp正規表現を組み立てる際にエンコーディングオプション(/n)が指定されていたのを削除しています。不正なエンコーディングの文字列が指定された場合に下記のようなRubyのwarningが出てしまうのを避ける為。

/foo/n.match?("SELECT '€'")
# => warning: historical binary regexp match /.../n against UTF-8 string

Merge pull request #43825 from ghiculescu/patch-7

rails guideのThe Asset Pipelineの修正です。

Sprockets 4で無くなったdebug modeに関する説明が残っていたのを削除しています。