Class: ActiveRecord::TypedStore::Type

Inherits:
ActiveRecord::Type::Serialized
  • Object
show all
Defined in:
lib/active_record/typed_store/type.rb

Instance Method Summary collapse

Constructor Details

#initialize(typed_hash_klass, coder, subtype) ⇒ Type

Returns a new instance of Type.



5
6
7
8
# File 'lib/active_record/typed_store/type.rb', line 5

def initialize(typed_hash_klass, coder, subtype)
  @typed_hash_klass = typed_hash_klass
  super(subtype, coder)
end

Instance Method Details

#changed_in_place?(raw_old_value, value) ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
45
46
# File 'lib/active_record/typed_store/type.rb', line 42

def changed_in_place?(raw_old_value, value)
  return false if value.nil?
  raw_new_value = serialize(value)
  raw_old_value.nil? != raw_new_value.nil? || raw_old_value != raw_new_value
end

#default_value?(value) ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/active_record/typed_store/type.rb', line 38

def default_value?(value)
  value == defaults
end

#defaultsObject



34
35
36
# File 'lib/active_record/typed_store/type.rb', line 34

def defaults
  @typed_hash_klass.defaults_hash
end