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.
-
#measure ⇒ Object
readonly
Returns the value of attribute measure.
-
#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: {}, measure: nil) ⇒ 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: {}, measure: nil) ⇒ Metric
Returns a new instance of Metric.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/active_reporting/metric.rb', line 13 def initialize( name, fact_model:, aggregate: :count, dimensions: [], dimension_filter: {}, metric_filter: {}, order_by_dimension: {}, measure: nil ) @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 @measure = measure 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 |
#measure ⇒ Object (readonly)
Returns the value of attribute measure.
11 12 13 |
# File 'lib/active_reporting/metric.rb', line 11 def measure @measure end |
#metric_filter ⇒ Object (readonly)
Returns the value of attribute metric_filter.
11 12 13 |
# File 'lib/active_reporting/metric.rb', line 11 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.
11 12 13 |
# File 'lib/active_reporting/metric.rb', line 11 def order_by_dimension @order_by_dimension end |
Instance Method Details
#report ⇒ ActiveReporting::Report
Builds an ActiveReporting::Report object based on the metric
37 38 39 |
# File 'lib/active_reporting/metric.rb', line 37 def report Report.new(self) end |