Method: JSI::ObjectJSONCoder#load

Defined in:
lib/jsi/schema_instance_json_coder.rb

#load(column_data) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/jsi/schema_instance_json_coder.rb', line 37

def load(column_data)
  return nil if column_data.nil?
  data = @string ? ::JSON.parse(column_data) : column_data
  object = if @array
    unless data.respond_to?(:to_ary)
      raise TypeError, "expected array-like column data; got: #{data.class}: #{data.inspect}"
    end
    data.map { |el| load_object(el) }
  else
    load_object(data)
  end
  object = @next_coder.load(object) if @next_coder
  object
end