class ActiveReporting::Report

Constants

AGGREGATE_FUNCTION_OPERATORS

Public Class Methods

new(metric, dimension_identifiers: true, dimension_filter: {}, dimensions: [], metric_filter: {}) click to toggle source
# File lib/active_reporting/report.rb, line 17
def initialize(metric, dimension_identifiers: true, dimension_filter: {}, dimensions: [], metric_filter: {})
  @metric = metric.is_a?(Metric) ? metric : ActiveReporting.fetch_metric(metric)
  raise UnknownMetric, "Unknown metric #{metric}" if @metric.nil?

  @dimension_identifiers  = dimension_identifiers
  local_dimensions        = ReportingDimension.build_from_dimensions(fact_model, Array(dimensions))
  @dimensions             = (@metric.dimensions + local_dimensions).uniq
  @metric_filter          = @metric.metric_filter.merge(metric_filter)
  @ordering               = @metric.order_by_dimension
  partition_dimension_filters dimension_filter
end

Public Instance Methods

run() click to toggle source

Builds and executes a query, returning the raw result

@return [Array]

# File lib/active_reporting/report.rb, line 32
def run
  @run ||= build_data
end