Class: Kanade::Converter::List

Inherits:
Base
  • Object
show all
Defined in:
lib/kanade/converter/list.rb

Instance Method Summary collapse

Methods inherited from Base

configurable

Instance Method Details

#deserialize(term, field_info) ⇒ Object

Raises:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/kanade/converter/list.rb', line 9

def deserialize(term, field_info)
  return nil if term.nil?
  #binding.pry unless term.is_a?(Array)
  raise NotSupportedError.new("Value must be array or nil!") unless term.is_a?(Array)

  term.map do |t|
    conversion_method =
      if field_info.options[:of].is_a?(Class) and field_info.options[:of] < Kanade::Dto
        :dto
      else
        field_info.options[:of]
      end

    # Kalau begini caranya, field_info bisa enggak konsisten.
    # Ada yang nyimpen informasinya dirinya sendiri, ada juga
    # yang nyimpen informasi parent-nya.
    converter = Engine.converter(conversion_method)
    binding.pry if converter.nil?
    raise NotSupportedError.new("Unregistered conversion method: #{conversion_method}") if converter.nil?
    converter.deserialize(t, field_info)
  end

end

#serialize(term, field_info) ⇒ Object



6
7
8
# File 'lib/kanade/converter/list.rb', line 6

def serialize(term, field_info)
  return nil if term.nil?
end