module ROM::Model::Attributes
Mixin for validatable and coercible parameters
@example
class UserAttributes include ROM::Model::Attributes attribute :email, String attribute :age, Integer validates :email, :age, presence: true end user_attrs = UserAttributes.new(email: '', age: '18') user_attrs.email # => '' user_attrs.age # => 18 user_attrs.valid? # => false user_attrs.errors # => #<ActiveModel::Errors:0x007fd2423fadb0 ...>
@api public
Constants
- VirtusModel
Public Class Methods
included(base)
click to toggle source
Inclusion hook used to extend a class with required interfaces
@api private
# File lib/rom/model/attributes.rb, line 34 def self.included(base) base.class_eval do include VirtusModel include ActiveModel::Conversion end base.extend(ClassMethods) end
Public Instance Methods
model_name()
click to toggle source
Return model name for the attributes class
The model name object is configurable using `set_model_name` macro
@see ClassMethods#set_model_name
@return [ActiveModel::Name]
@api public
# File lib/rom/model/attributes.rb, line 51 def model_name self.class.model_name end