Class: BetterRecord::CustomType

Inherits:
ActiveRecord::Type::Value
  • Object
show all
Defined in:
lib/better_record/custom_type.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cast(value) ⇒ Object



10
11
12
# File 'lib/better_record/custom_type.rb', line 10

def self.cast(value)
  self.normalize_type_value(value)
end

.deserialize(value) ⇒ Object



14
15
16
# File 'lib/better_record/custom_type.rb', line 14

def self.deserialize(value)
  self.normalize_type_value(value)
end

.normalize_type_value(value) ⇒ Object



6
7
8
# File 'lib/better_record/custom_type.rb', line 6

def self.normalize_type_value(value)
  raise "Method Not Implemented"
end

.serialize(value) ⇒ Object



18
19
20
# File 'lib/better_record/custom_type.rb', line 18

def self.serialize(value)
  self.normalize_type_value(value)
end

Instance Method Details

#cast(value) ⇒ Object



26
27
28
# File 'lib/better_record/custom_type.rb', line 26

def cast(value)
  super_cast(self.class.cast(value))
end

#deserialize(value) ⇒ Object



30
31
32
# File 'lib/better_record/custom_type.rb', line 30

def deserialize(value)
  super_deserialize(self.class.deserialize(value))
end

#serialize(value) ⇒ Object



34
35
36
# File 'lib/better_record/custom_type.rb', line 34

def serialize(value)
  super_serialize(self.class.serialize(value))
end

#super_castObject



22
# File 'lib/better_record/custom_type.rb', line 22

alias :super_cast :cast

#super_deserializeObject



23
# File 'lib/better_record/custom_type.rb', line 23

alias :super_deserialize :deserialize

#super_serializeObject



24
# File 'lib/better_record/custom_type.rb', line 24

alias :super_serialize :serialize