Module: ROM::Model::Params

Defined in:
lib/rom/model.rb

Overview

Mixin for validatable and coercible parameters

Examples:


class UserParams
  include ROM::Model::Params

  attribute :email, String
  attribute :age, Integer

  validates :email, :age, presence: true
end

user_params = UserParams.new(email: '', age: '18')

user_params.email # => ''
user_params.age # => 18

user_params.valid? # => false
user_params.errors # => #<ActiveModel::Errors:0x007fd2423fadb0 ...>

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/rom/model.rb', line 38

def self.included(base)
  base.class_eval do
    include Virtus.model
    include ActiveModel::Validations
    include ActiveModel::Conversion
  end
  base.extend(ClassMethods)
end