module ParamsReady::Marshaller::ArrayMarshallers::ArrayMarshaller

Public Class Methods

canonicalize(definition, array, context, validator, freeze: false) click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 28
def self.canonicalize(definition, array, context, validator, freeze: false)
  canonical = array.map do |value|
    next if definition.compact? && value.nil?

    element = definition.prototype.create
    element.set_from_input(value, context, validator)
    next if definition.compact? && element.is_nil?

    element.freeze if freeze
    element
  end.compact

  [canonical, validator]
end
do_marshal(array, _, _) click to toggle source
# File lib/params_ready/marshaller/array_marshallers.rb, line 43
def self.do_marshal(array, _, _)
  array
end