From 24f2a0c8cfd7dcce7e06a3ead965ce464694c4c0 Mon Sep 17 00:00:00 2001 From: "Marcos G. Zimmermann" Date: Thu, 8 Aug 2024 17:02:19 -0300 Subject: [PATCH] fix: flatten array on lazy header coerce each --- lib/esse/lazy_document_header.rb | 2 +- spec/esse/lazzy_document_header_spec.rb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/esse/lazy_document_header.rb b/lib/esse/lazy_document_header.rb index 406edea..5eb3dd5 100644 --- a/lib/esse/lazy_document_header.rb +++ b/lib/esse/lazy_document_header.rb @@ -4,7 +4,7 @@ module Esse class LazyDocumentHeader def self.coerce_each(values) arr = [] - Esse::ArrayUtils.wrap(values).map do |value| + Esse::ArrayUtils.wrap(values).flatten.map do |value| instance = coerce(value) arr << instance if instance&.valid? end diff --git a/spec/esse/lazzy_document_header_spec.rb b/spec/esse/lazzy_document_header_spec.rb index 9602778..30078dd 100644 --- a/spec/esse/lazzy_document_header_spec.rb +++ b/spec/esse/lazzy_document_header_spec.rb @@ -169,6 +169,10 @@ it 'removes invalid instances' do expect(described_class.coerce_each([nil, {_id: 1}, {}]).size).to eq(1) end + + it 'flattens the array' do + expect(described_class.coerce_each([[_id: 1], {_id: 2}]).size).to eq(2) + end end describe '#to_doc' do