Module: ActiveReporter::Report::Aggregation

Included in:
ActiveReporter::Report
Defined in:
lib/active_reporter/report/aggregation.rb

Instance Method Summary collapse

Instance Method Details

#flat_dataObject

flat hash of { [x1, x2, x3] => y }



10
11
12
# File 'lib/active_reporter/report/aggregation.rb', line 10

def flat_data
  @flat_data ||= flatten_data
end

#hashed_dataObject



14
15
16
# File 'lib/active_reporter/report/aggregation.rb', line 14

def hashed_data
  @hashed_data ||= hash_data
end

#nested_dataObject Also known as: data

nested array of

{ key: x3, values: [{ key: x2, values: [{ key: x1, value: y }

}] }]



20
21
22
# File 'lib/active_reporter/report/aggregation.rb', line 20

def nested_data
  @nested_data ||= nest_data
end

#raw_dataObject



4
5
6
# File 'lib/active_reporter/report/aggregation.rb', line 4

def raw_data
  @raw_data ||= aggregate
end

#source_dataObject



30
31
32
33
34
35
# File 'lib/active_reporter/report/aggregation.rb', line 30

def source_data
  @source_data ||= aggregators.values.reduce(groups) do |relation, aggregator|
    # append each aggregator into the base relation (groups)
    relation.merge(aggregator.aggregate(base_relation))
  end
end

#total_dataObject Also known as: totals



25
26
27
# File 'lib/active_reporter/report/aggregation.rb', line 25

def total_data
  @total_data ||= total
end