Class: ActiveReporting::Metric
- Inherits:
-
Object
- Object
- ActiveReporting::Metric
- Extended by:
- Forwardable
- Defined in:
- lib/active_reporting/metric.rb
Instance Attribute Summary collapse
-
#aggregate ⇒ Object
readonly
Returns the value of attribute aggregate.
-
#dimension_filter ⇒ Object
readonly
Returns the value of attribute dimension_filter.
-
#dimensions ⇒ Object
readonly
Returns the value of attribute dimensions.
-
#fact_model ⇒ Object
readonly
Returns the value of attribute fact_model.
-
#metric_filter ⇒ Object
readonly
Returns the value of attribute metric_filter.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#order_by_dimension ⇒ Object
readonly
Returns the value of attribute order_by_dimension.
Instance Method Summary collapse
-
#initialize(name, fact_model:, aggregate: :count, dimensions: [], dimension_filter: {}, metric_filter: {}, order_by_dimension: {}) ⇒ Metric
constructor
A new instance of Metric.
-
#report ⇒ ActiveReporting::Report
Builds an ActiveReporting::Report object based on the metric.
Constructor Details
#initialize(name, fact_model:, aggregate: :count, dimensions: [], dimension_filter: {}, metric_filter: {}, order_by_dimension: {}) ⇒ Metric
Returns a new instance of Metric.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/active_reporting/metric.rb', line 10 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 |
Instance Attribute Details
#aggregate ⇒ Object (readonly)
Returns the value of attribute aggregate.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def aggregate @aggregate end |
#dimension_filter ⇒ Object (readonly)
Returns the value of attribute dimension_filter.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def dimension_filter @dimension_filter end |
#dimensions ⇒ Object (readonly)
Returns the value of attribute dimensions.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def dimensions @dimensions end |
#fact_model ⇒ Object (readonly)
Returns the value of attribute fact_model.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def fact_model @fact_model end |
#metric_filter ⇒ Object (readonly)
Returns the value of attribute metric_filter.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def metric_filter @metric_filter end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def name @name end |
#order_by_dimension ⇒ Object (readonly)
Returns the value of attribute order_by_dimension.
8 9 10 |
# File 'lib/active_reporting/metric.rb', line 8 def order_by_dimension @order_by_dimension end |
Instance Method Details
#report ⇒ ActiveReporting::Report
Builds an ActiveReporting::Report object based on the metric
32 33 34 |
# File 'lib/active_reporting/metric.rb', line 32 def report Report.new(self) end |