2022/08/03分のコミットです。
CHANGELOGへの追加はありませんでした。
Merge pull request #45716 from jonathanhefner/command-executable-helper
railtiesの修正です。
コマンド名を表示する為のヘルパーメソッドを追加し、各コマンドのUSAGEやエラーメッセージでそのメソッドを使うよう修正しています。
Raise when defining an enum not backed by a database column
activerecord/lib/active_record/enum.rb
、
activerecord/lib/active_record/model_schema.rb
の修正です。
schemaに定義されているenumがDBに存在しない場合、schemaファイルロード時にエラーとなるよう修正しています。
Avoid explictly freezing literals strings when possible
actionview/lib/action_view/template/handlers/erb/erubi.rb
の修正です。
templateのコンパイル時に明示的なfreezing literals stringsの使用を避けるよう修正しています。template自体にfrozen_string_literals: true
が指定されている場合に、明示的なstringのfreeze処理は無駄になってしまう為。
参考: Add freeze_template_literals option to avoid String#freeze
Preserve collaction when changing column in MySQL
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
の修正です。
MySQLでcolumnの変更処理でcollation
の指定が失われてしまっていたのを維持するよう修正しています。
Refactor form_for tests to stop re-assigning @output_buffer
Action Viewのテストの修正です。
テストで値を設定するのに@output_buffer
を使用していたのを、@renderer
を使用するよう修正しています。@renderer
がそもそもDOMのテスト用に準備された変数の為。
Add OutputBuffer#raw and #capture to reduce the need to swap the buffer
Action Pack、Action Viewの修正です。
OutputBuffer
classにraw
、及び、capture
メソッドを追加しています。
元々、view helperのcapture処理は各helperで独自で実装が行われていました。これは@output_buffer
を新しいbufferにswapするよう実装されており、swap後は元のbufferのsizeを保持する為に、新しいbufferを明示的にそのsizeにsliceするなどの処理が含まれており、少々無駄がありました。そこで、処理の共通化、及び無駄を無くす為にOutputBuffer
にcapture
メソッドを追加しています。また、capture
メソッドはhtml safeな値を返すようになっているのですが、html safeじゃない値が取得したい時の為、rawデータを取得する為のraw
メソッドも合わせて追加しています。
Add missing Versioning header in maintenance policy guide
rails guideのMaintenance Policy for Ruby on Rails
の修正です。
versioningについて説明してる箇所に、Versioning
ヘッダーを追加しています。
Refactor Action View tests to stop re-assigning @output_buffer
Action Viewの修正です。
テストで値を設定するのに@output_buffer
を使用していたのを@renderer
を使用するよう修正しています。Refactor form_for tests to stop re-assigning @output_bufferの続き。