@kazutosatoさん
https://qiita.com/kazutosato/items/91c5c989f98981d06cd4
モジュール名 | 機能 |
---|---|
AttributeMethods | クラスのメソッドにカスタムのプレフィックスやサフィックスを追加できます。 |
Callbacks | Active Recordスタイルのコールバックを提供します。 |
Conversion | クラスでpersisted?メソッドとidメソッドが定義されていれば、このActiveModel::ConversionモジュールをインクルードしてRailsの変換メソッドをそのクラスのオブジェクトに対して呼び出すことができます。 |
Dirty | あるオブジェクトが数度にわたって変更され、保存されていない状態は、「汚れた (dirty)」状態です。ActiveModel::Dirtyモジュールを使うと、オブジェクトで変更が生じたかどうかを検出できます。属性名に基づいたアクセサメソッドも使えます。 |
Validations | ActiveModel::Validationsモジュールを追加すると、クラスオブジェクトをActive Recordスタイルで検証できます。 |
Naming | ActiveModel::Namingは、命名やルーティングの管理を支援するクラスメソッドを多数追加します。 |
Model | ActiveModel::Modelを追加すると、Action PackやAction Viewと連携する機能をすぐに使えるようになります。ActiveModel::Modelをincludeすると、以下のような機能を使えるようになります。 |
Serialization | オブジェクトに基本的なシリアライズ機能を提供します。シリアライズの対象となる属性を含む属性ハッシュを1つ宣言する必要があります。属性は文字列でなければならず、シンボルは使えません。 |
ActiveModel::Serializers | Active Modelは、JSONシリアライズ/デシリアライズ用のActiveModel::Serializers::JSONモジュールも提供しています。このモジュールは前述のActiveModel::Serializationモジュールを自動でincludeします。 |
Translation | ActiveModel::Translationは、オブジェクトとRails国際化(i18n)フレームワーク間の統合機能を提供します。 |
Lintテスト | ActiveModel::Lint::Testsを用いて、オブジェクトがActive Model APIに準拠しているかどうかをテストできます。 |
SecurePassword | ActiveModel::SecurePasswordは、任意のパスワードを暗号化して安全に保存する手段を提供します。このモジュールをincludeすると、バリデーション機能を備えたpasswordアクセサを定義するhas_secure_passwordクラスメソッドがデフォルトで提供されます。 |