Module: StoreModel::Model::ClassMethods

Defined in:
lib/store_model/model.rb

Overview

Class methods for StoreModel::Model

Instance Method Summary collapse

Instance Method Details

#discriminator_attribute(discriminator = "type", value:, type: :string) ⇒ Object

Defines a discriminator attribute with a value

Parameters:

  • discriminator (Symbol, String) (defaults to: "type")

    attribute name (default: :type)

  • type (Symbol, String) (defaults to: :string)

    attribute type (default: :string)

  • value (String)

    the discriminator value



47
48
49
# File 'lib/store_model/model.rb', line 47

def discriminator_attribute(discriminator = "type", value:, type: :string)
  attribute discriminator, type, default: value
end

#from_value(value) ⇒ Object



35
36
37
# File 'lib/store_model/model.rb', line 35

def from_value(value)
  to_type.cast_value(value)
end

#from_values(values) ⇒ Object



39
40
41
# File 'lib/store_model/model.rb', line 39

def from_values(values)
  to_array_type.cast_value(values)
end