Rails 5.2.0 で入ったActiveModel::Attributes API 最高ですよね。 でもカスタムタイプのドキュメントが見つからないんですよね。 ActiveRecord::Attributes API のカスタムタイプ ならあるのですが。 ソースコード見たところ簡単に作れるのがわかったので紹介します。 まず型の登録部分ですが、lib/active_model/type.rb で定義されています。 また、ActiveModelで使われているデフォルトタイプの実装を見ると cast_value メソッドがあればよさそうです。 ActiveRecord::Attributes API と同様に実装します。 class MoneyType < ActiveModel::Type::Integer def cast_value(value) if !value.kind_of?(