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.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# 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 |
Instance Attribute Details
#aggregate ⇒ Object (readonly)
Returns the value of attribute aggregate.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def aggregate @aggregate end |
#dimension_filter ⇒ Object (readonly)
Returns the value of attribute dimension_filter.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def dimension_filter @dimension_filter end |
#dimensions ⇒ Object (readonly)
Returns the value of attribute dimensions.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def dimensions @dimensions end |
#fact_model ⇒ Object (readonly)
Returns the value of attribute fact_model.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def fact_model @fact_model end |
#metric_filter ⇒ Object (readonly)
Returns the value of attribute metric_filter.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def metric_filter @metric_filter end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def name @name end |
#order_by_dimension ⇒ Object (readonly)
Returns the value of attribute order_by_dimension.
10 11 12 |
# File 'lib/active_reporting/metric.rb', line 10 def order_by_dimension @order_by_dimension end |
Instance Method Details
#report ⇒ ActiveReporting::Report
Builds an ActiveReporting::Report object based on the metric
34 35 36 |
# File 'lib/active_reporting/metric.rb', line 34 def report Report.new(self) end |