class ActiveReporting::Metric

Attributes

aggregate[R]
dimension_filter[R]
dimensions[R]
fact_model[R]
metric_filter[R]
name[R]
order_by_dimension[R]

Public Class Methods

new( name, fact_model:, aggregate: :count, dimensions: [], dimension_filter: {}, metric_filter: {}, order_by_dimension: {} ) click to toggle source
# File lib/active_reporting/metric.rb, line 12
def initialize(
  name,
  fact_model:,
  aggregate: :count,
  dimensions: [],
  dimension_filter: {},
  metric_filter: {},
  order_by_dimension: {}
)
  @name               = name.to_sym
  @fact_model         = fact_model
  @dimension_filter   = dimension_filter
  @aggregate          = determin_aggregate(aggregate.to_sym)
  @metric_filter      = metric_filter
  @dimensions         = ReportingDimension.build_from_dimensions(@fact_model, Array(dimensions))
  @order_by_dimension = order_by_dimension
  check_dimension_filter
end

Public Instance Methods

report() click to toggle source

Builds an ActiveReporting::Report object based on the metric

@return [ActiveReporting::Report]

# File lib/active_reporting/metric.rb, line 34
def report
  Report.new(self)
end