Method: Decanter::Core::ClassMethods#handle_has_many

Defined in:
lib/decanter/core.rb

#handle_has_many(handler, values) ⇒ Object



174
175
176
177
178
179
180
181
182
183
184
185
186
187
# File 'lib/decanter/core.rb', line 174

def handle_has_many(handler, values)
  decanter = decanter_for_handler(handler)
  if values.is_a?(Hash)
    parsed_values = values.map do |index, input_values|
      next if input_values.nil?
      decanter.decant(input_values)
    end
    return { handler[:key] => parsed_values }
  else
    {
      handler[:key] => values.compact.map { |value| decanter.decant(value) }
    }
  end
end