Method: Elasticated::RangeAggregation#parse

Defined in:
lib/elasticated/aggregations/range_aggregation.rb

#parse(response) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/elasticated/aggregations/range_aggregation.rb', line 28

def parse(response)
  response['buckets'].each_with_object({}) do |(key_name, values), hash|
    count = values['doc_count']
    hash[key_name] = if compact && _subaggregations.empty?
      count
    else
      raise "Compact is not a valid parameter on a subaggregated 'range' aggregation" if compact
      body = { 'count' => count }
      body.merge! parse_subaggregations(values)
      body
    end
  end
end