Skip to content

リリース 3.0

以下の変更が準備・実装されました。

アーキテクチャ

Stroma

  • Stroma — モジュール、フック、エクステンションを管理するライブラリコアです。
  • サービスカスタマイズのためのbeforeafterフックシステムを追加しました。
  • 階層的なモジュール設定ストレージによる構造の再編成を行いました。

コンフィグレーション

  • 親クラスと子クラス間の共有ステートを防止するためのリファクタリングを行いました。

アトリビュート

ダイナミックオプション

  • クラスバリデーションのためのtargetオプションを追加しました。
  • inclusionオプションでのRangeサポートを追加しました。
  • バリデーションを改善しました: nilガード、formatでの型チェック、Floatの精度。
  • mustオプションを改善しました: isラムダは厳密なtrue値のみを受け付けます。

アクション

Stage

  • stageの機能を改善しました。
  • メソッド名を変更しました: should_skip?condition_met?

エクステンション

  • エクステンションはStromaフックシステムを通じてbeforeafterをサポートするようになりました。
  • エクステンションの例を追加しました: 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のサポートが確認されました。

その他

このリリースにはその他の修正と改善も含まれています。