https://github.com/rails/rails
SQLite と旧 MySQL/MariaDB で `rename_index` が部分インデックスの属性(WHERE 句等)を失うバグを修正し、属性を保持したままインデックス名を変更できるようにした。
PostgreSQL アダプタの `foreign_keys` が quoted スキーマで `to_table` を誤変換するバグを、`Utils.extract_schema_qualified_name` へ置き換えて修正し、テストを追加して信頼性を向上させました。
Mime::Type の配列マッチングと nil ガードに対するテストが追加され、未テストの振る舞いが保証されました。
ActiveSupport::ParameterFilter の空フィルター時に #filter が params.dup を返すことをテストで保証し、オブジェクトの不変性を明示的に確認した変更です。
Added a test confirming that Object#with returns the block's evaluated result, improving coverage without changing production code.
`Enumerable#in_order_of` の `filter:false` が `nil` を除去していたバグを、余計な compact を削除し修正。回帰テストを追加し、仕様通り nil が保持されることを保証した。
Range#sole が無限範囲の末端が nil のケース (1..) でも例外を投げることをテストで網羅し、実装の guard が全方向をカバーすることを CI が保証できるようにした。
reverse_order! が default_order を無視していたバグを修正し、default_order のみの Relation でも正しく逆順が適用されるようになった。
ContentDisposition.format のクラスメソッドを直接テストし、ヘッダー生成ロジックのカバレッジを向上させたテスト追加のみの変更です。
ActiveModel::ValidationError が例外からモデルとエラーメッセージを取得できることを検証するテストが追加され、例外情報の信頼性が保証されました。
ArrayInquirer#any? が引数なしで呼び出された際の戻り値(空配列は false、要素ありは true)をテストで確認し、仕様の回帰防止を実現した。
BigInteger の文字列シリアライズ挙動をテストで網羅し、数値変換・切り捨て・非数値時の nil 返却を公式に保証した変更です。
String#truncate の omission が truncate_to を超えるケースを検証するテストが追加され、ドキュメント通りの挙動が自動的に保証されました。
Array の offset accessor が範囲外の場合に nil を返すことを検証するテストが追加され、未カバーだった境界ケースをカバーし回帰リスクを低減します。
belongs_to が指す複合主キーでも group(:assoc).count が例外を出さずに結果をキー付けできるよう、execute_grouped_calculation に複合キー判定とタプル取得の分岐が追加され、既存挙動を保ちつつ互換性が確保された。
`Mime::Type#html?` のシンボルと文字列マッチを検証するテストが追加され、カバレッジが向上しリグレッション防止が強化された。
ActionView::TestCase の render が毎回 rendered をリセットするよう修正し、ドキュメント通りの振る舞いとメモ化への互換性を回復しました。
disable_joins:true を利用した through アソシエーションで、複合主キーが原因で空結果になる問題を、キーが配列の場合に要素ごとに取得するロジックに変更し修正しました。
Active Storage が ImageProcessing 2.0 に対応し、ruby‑vips と mini_magick の明示的依存と警告メッセージを追加。未検証フォーマットのブロックは環境変数で切替可能に。
FormBuilder#to_partial_path が Builder 以外のサブクラスで nil を返すバグを、String#sub に置換して修正し、カスタムビルダーでも正しいパーシャルパスが得られるようになった。