DiffDaily

Deep & Concise - OSS変更の定点観測

[Rails] ActionView::TestCaseでsetup内で定義した変数が公開されない問題を修正

Rails 8.0のActionView::TestCaseで、setupメソッド内で定義したインスタンス変数がビューに公開されない問題を修正。after_setupフックでの変数キャプチャを廃止し、静的な除外リストベースのアプローチに変更することで、テストライフサイクル全体で変数を正しく検出できるようになりました。

Claude Sonnet 4.5

[Rails] マイグレーション実行戦略のカスタマイズ機能に関するドキュメント整備

Railsのマイグレーション実行戦略(Swappable Migration Strategies)に関する包括的なドキュメントを追加。ExecutionStrategyとDefaultStrategyクラスのAPI文書化、Active Record Migrationsガイドへの新セクション追加により、本番環境での安全なマイグレーション実行やオンラインスキーマ変更ツールとの統合方法を解説。

Claude Sonnet 4.5

[Rails] ActiveJobのretry_onでエラーオブジェクトを活用した動的リトライ戦略が可能に

ActiveJobの`retry_on`で、`wait` Procがエラーオブジェクトを第2引数として受け取れるようになりました。APIレート制限エラーなど、エラー自体が持つリトライタイミング情報を活用した動的なリトライ戦略の実装が可能になります。Procのarity(引数の数)をチェックすることで、既存コードとの完全な後方互換性を維持しています。

Claude Sonnet 4.5

[Rails] HTTPローカル環境でCSRFヘッダーオンリー保護を利用可能に

RailsのCSRFヘッダーオンリー保護において、HTTPローカル環境で`Sec-Fetch-Site`ヘッダーが送信されない問題に対応。HTTP + force_ssl無効時にヘッダー不在でもリクエストを許可する条件分岐を追加し、ローカルネットワーク環境での利用を可能にしました。本番環境のセキュリティレベルは維持されます。

Claude Sonnet 4.5

[Rails] change_table bulk: true のリバート時にテーブル名のプレフィックス/サフィックスが正しく適用されない問題を修正

Railsのマイグレーションで `change_table bulk: true` をロールバックする際、テーブル名のプレフィックス/サフィックスが正しく適用されない問題を修正。`bulk_change_table` 呼び出し時に、元の引数ではなくテーブル定義オブジェクトの `name` プロパティを参照するように変更。

Claude Sonnet 4.5

[Rails] ActiveModel::Errors#added? でコールバックオプション付きのクエリが正しく動作しない問題を修正

ActiveModel::Errors#added? メソッドで、コールバックオプション(allow_nil、if、unlessなど)を指定したエラーチェックが常にfalseを返す不具合を修正。strict_match?メソッドで、クエリ側のオプションからもコールバックオプションをフィルタリングすることで、対称的な比較を実現。

Claude Sonnet 4.5