diff --git a/lib/esse/lazy_document_header.rb b/lib/esse/lazy_document_header.rb index 972b572..0dbcfee 100644 --- a/lib/esse/lazy_document_header.rb +++ b/lib/esse/lazy_document_header.rb @@ -6,8 +6,13 @@ class LazyDocumentHeader ACCEPTABLE_DOC_TYPES = [nil, '_doc', 'doc'].freeze def self.coerce_each(values) + values = Esse::ArrayUtils.wrap(values) + return values if values.all? do |value| + ACCEPTABLE_CLASSES.any? { |klass| value.is_a?(klass) } + end + arr = [] - Esse::ArrayUtils.wrap(values).flatten.map do |value| + values.flatten.map do |value| instance = coerce(value) arr << instance if instance && !instance.id.nil? end