lib/search_flip/aggregatable.rb in search_flip-3.0.0.beta2 vs lib/search_flip/aggregatable.rb in search_flip-3.0.0.beta3

- old
+ new

@@ -55,10 +55,17 @@ hash = field_or_hash.is_a?(Hash) ? field_or_hash : { field_or_hash => { terms: { field: field_or_hash }.merge(options) } } if block aggregation = yield(SearchFlip::Aggregation.new(target: target)) - field_or_hash.is_a?(Hash) ? hash[field_or_hash.keys.first].merge!(aggregation.to_hash) : hash[field_or_hash].merge!(aggregation.to_hash) + if field_or_hash.is_a?(Hash) + value = field_or_hash.values.first + value = value.values.first if value.is_a?(Hash) && !value.empty? + + value.merge!(aggregation.to_hash) + else + hash[field_or_hash].merge!(aggregation.to_hash) + end end criteria.aggregation_values = (aggregation_values || {}).merge(hash) end end