Module: Representable::Binding::Extend

Included in:
Object
Defined in:
lib/representable/binding.rb

Overview

Hooks into #serialize and #deserialize to extend typed properties at runtime.

Instance Method Summary collapse

Instance Method Details

#deserializeObject



31
32
33
# File 'lib/representable/binding.rb', line 31

def deserialize(*)
  extend_for(super)
end

#extend_for(object) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/representable/binding.rb', line 35

def extend_for(object)
  if mod = definition.representer_module
    object.extend(*mod)
  end
  
  object
end

#serialize(object) ⇒ Object

Extends the object with its representer before serialization.



27
28
29
# File 'lib/representable/binding.rb', line 27

def serialize(object)
  extend_for(super)
end