class DomainModel::Deserializer
Public Class Methods
deserialize(type, primitive)
click to toggle source
# File lib/domain_model.rb, line 139 def self.deserialize(type, primitive) new.deserialize(type, primitive) end
Public Instance Methods
deserialize(type, primitive)
click to toggle source
# File lib/domain_model.rb, line 143 def deserialize(type, primitive) case when type <= DomainModel primitive ||= {} primitive.each do |k, v| field = type.fields.find { |f| f.name.to_s == k.to_s } next unless field && field.monotype if field.collection? primitive[k] = (v || []).map { |e| deserialize(field.monotype, e) } else primitive[k] = deserialize(field.monotype, v) end end type.new(primitive) else primitive end end