Class: SerialBox::Serializer::BlockDeserialization

Inherits:
Object
  • Object
show all
Defined in:
lib/serialbox.rb

Instance Method Summary collapse

Constructor Details

#initialize(field, block, klass) ⇒ BlockDeserialization

Returns a new instance of BlockDeserialization.



180
181
182
183
184
# File 'lib/serialbox.rb', line 180

def initialize(field, block, klass)
  @field       = field
  @method_name = "_block_deserialization_#{object_id}"
  klass.send :define_method, @method_name, &block
end

Instance Method Details

#apply(caller, json) ⇒ Object



186
187
188
# File 'lib/serialbox.rb', line 186

def apply(caller, json)
  caller.send @method_name, json[@field.to_s]
end