Class: StoreModel::Types::OneBase

Inherits:
Base
  • Object
show all
Defined in:
lib/store_model/types/one_base.rb

Overview

Implements type for handling an instance of StoreModel::Model

Direct Known Subclasses

One, OnePolymorphic

Instance Attribute Summary

Attributes inherited from Base

#model_klass

Instance Method Summary collapse

Methods inherited from Base

#type

Instance Method Details

#cast_value(_value) ⇒ Object

Casts value from DB or user to StoreModel::Model instance

Parameters:

  • value (Object)

    a value to cast

Returns:

  • StoreModel::Model

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/store_model/types/one_base.rb', line 14

def cast_value(_value)
  raise NotImplementedError
end

#changed_in_place?(raw_old_value, new_value) ⇒ Boolean

Determines whether the mutable value has been modified since it was read

Parameters:

  • raw_old_value (Object)

    old value

  • new_value (Object)

    new value

Returns:

  • (Boolean)


24
25
26
# File 'lib/store_model/types/one_base.rb', line 24

def changed_in_place?(raw_old_value, new_value)
  cast_value(raw_old_value) != new_value
end