Class: Cubicle::Measure

Inherits:
Member
  • Object
show all
Defined in:
lib/cubicle/measure.rb

Direct Known Subclasses

CalculatedMeasure, Duration

Instance Attribute Summary collapse

Attributes inherited from Member

#alias_list, #expression, #expression_type, #name, #options

Instance Method Summary collapse

Methods inherited from Member

#included_in?, #matches, #to_js_keys

Constructor Details

#initialize(*args) ⇒ Measure

Returns a new instance of Measure.



4
5
6
7
# File 'lib/cubicle/measure.rb', line 4

def initialize(*args)
  super
  @aggregation_method = self.options.delete(:aggregation_method) || default_aggregation_method
end

Instance Attribute Details

#aggregation_methodObject

can be :sum, :average, :count



9
10
11
# File 'lib/cubicle/measure.rb', line 9

def aggregation_method
  @aggregation_method
end

Instance Method Details

#default_aggregation_methodObject



16
17
18
# File 'lib/cubicle/measure.rb', line 16

def default_aggregation_method
  :count
end

#to_js_valueObject



11
12
13
14
# File 'lib/cubicle/measure.rb', line 11

def to_js_value
  return super unless aggregation_method == :count
  "((#{super}) ? 1 : 0)"
end