Class: ArtirixDataModels::RawAggregationDataNormaliser

Inherits:
Object
  • Object
show all
Defined in:
lib/artirix_data_models/raw_aggregation_data_normaliser.rb

Constant Summary collapse

FIND_BUCKETS =
->(_k, v, _o) { v.respond_to?(:key?) && v.key?(:buckets) }
FIND_VALUE =
->(_k, v, _o) { v.respond_to?(:key?) && v.key?(:value) }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aggregations_factory, raw_aggs) ⇒ RawAggregationDataNormaliser

Returns a new instance of RawAggregationDataNormaliser.



9
10
11
12
13
# File 'lib/artirix_data_models/raw_aggregation_data_normaliser.rb', line 9

def initialize(aggregations_factory, raw_aggs)
  @aggregations_factory = aggregations_factory
  @raw_aggs             = raw_aggs
  @list                 = []
end

Instance Attribute Details

#aggregations_factoryObject (readonly)

Returns the value of attribute aggregations_factory.



7
8
9
# File 'lib/artirix_data_models/raw_aggregation_data_normaliser.rb', line 7

def aggregations_factory
  @aggregations_factory
end

#listObject (readonly)

Returns the value of attribute list.



7
8
9
# File 'lib/artirix_data_models/raw_aggregation_data_normaliser.rb', line 7

def list
  @list
end

#raw_aggsObject (readonly)

Returns the value of attribute raw_aggs.



7
8
9
# File 'lib/artirix_data_models/raw_aggregation_data_normaliser.rb', line 7

def raw_aggs
  @raw_aggs
end

Instance Method Details

#normaliseObject Also known as: call



15
16
17
18
19
20
21
22
# File 'lib/artirix_data_models/raw_aggregation_data_normaliser.rb', line 15

def normalise
  return [] unless raw_aggs.present?
  return raw_aggs if Array === raw_aggs

  normalise_hash(raw_aggs)

  list
end