リリース 3.0
以下の変更が準備・実装されました。
アーキテクチャ
Stroma
- Stroma — モジュール、フック、エクステンションを管理するライブラリコアです。
- サービスカスタマイズのための
beforeとafterフックシステムを追加しました。 - 階層的なモジュール設定ストレージによる構造の再編成を行いました。
コンフィグレーション
- 親クラスと子クラス間の共有ステートを防止するためのリファクタリングを行いました。
アトリビュート
ダイナミックオプション
- クラスバリデーションのための
targetオプションを追加しました。 inclusionオプションでのRangeサポートを追加しました。- バリデーションを改善しました: nilガード、formatでの型チェック、Floatの精度。
mustオプションを改善しました:isラムダは厳密なtrue値のみを受け付けます。
アクション
Stage
- stageの機能を改善しました。
- メソッド名を変更しました:
should_skip?、condition_met?。
エクステンション
- エクステンションはStromaフックシステムを通じて
beforeとafterをサポートするようになりました。 - エクステンションの例を追加しました: Authorization、Transactional、Idempotent、Rollbackableなど。
- エクステンション作成用のジェネレーターを追加しました。
詳細はエクステンションドキュメントをご覧ください。
テスト
RSpec
- モジュラーなRegistry DSLアーキテクチャによるTest Kitの再設計を行いました。
- サービスモッキング用のFluent APIを追加しました。
- クロスサービスのエクセプションハンドリングサポートを追加しました。
Railsジェネレーター
Railsのジェネレーターを追加・改善しました:
servactory:install— インストールとセットアップ。servactory:service— inputsと型指定をサポートしたサービスの作成。servactory:rspec— RSpecテストの作成。servactory:extension— エクステンションの作成。
改善点: カスタムパスサポート、型の正規化、Rails 5.1-8.1の拡張互換性。
I18n
新しいロケールを追加しました: ドイツ語 (de)、フランス語 (fr)、スペイン語 (es)、イタリア語 (it)。
Ruby
Ruby 4.0.0のサポートが確認されました。
Rails
Rails 8.1のサポートが確認されました。
その他
このリリースにはその他の修正と改善も含まれています。