Class: ActiveReporting::Report
- Inherits:
-
Object
- Object
- ActiveReporting::Report
- Extended by:
- Forwardable
- Defined in:
- lib/active_reporting/report.rb
Constant Summary collapse
- AGGREGATE_FUNCTION_OPERATORS =
{ eq: '=', gt: '>', gte: '>=', lt: '<', lte: '<=' }.freeze
Instance Method Summary collapse
-
#initialize(metric, dimension_identifiers: true, dimension_filter: {}, dimensions: [], metric_filter: {}) ⇒ Report
constructor
A new instance of Report.
-
#run ⇒ Array
Builds and executes a query, returning the raw result.
Constructor Details
#initialize(metric, dimension_identifiers: true, dimension_filter: {}, dimensions: [], metric_filter: {}) ⇒ Report
Returns a new instance of Report.
17 18 19 20 21 22 23 24 25 26 27 |
# 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 |
Instance Method Details
#run ⇒ Array
Builds and executes a query, returning the raw result
32 33 34 |
# File 'lib/active_reporting/report.rb', line 32 def run @run ||= build_data end |