Class: Chicago::Schema::Measure

Inherits:
Column
  • Object
show all
Defined in:
lib/chicago/schema/measure.rb

Instance Attribute Summary

Attributes inherited from Column

#calculation, #column_type, #countable_label, #default, #elements, #max, #min

Attributes included from NamedElement

#label, #name

Instance Method Summary collapse

Methods inherited from Column

#==, #binary?, #calculated?, #countable?, #default_value, #descriptive?, #hash, #internal?, #null?, #numeric?, #optional?, #qualify_by, #textual?, #to_hash, #unique?

Constructor Details

#initialize(name, column_type, opts = {}) ⇒ Measure

Creates a measure.

Additional options:

semi_additive

whether a measure column is semi_additive.

See Chicago::Schema::Column



14
15
16
17
# File 'lib/chicago/schema/measure.rb', line 14

def initialize(name, column_type, opts={})
  super
  @semi_additive = !! opts[:semi_additive]
end

Instance Method Details

#indexed?Boolean

Returns false. Measures do not need to be indexed.

Returns:

  • (Boolean)


20
21
22
# File 'lib/chicago/schema/measure.rb', line 20

def indexed?
  false
end

#semi_additive?Boolean

Returns true if this measure can be averaged, but not summed.

Returns:

  • (Boolean)


25
26
27
# File 'lib/chicago/schema/measure.rb', line 25

def semi_additive?
  @semi_additive
end

#visit(visitor) ⇒ Object

Measures are visitable



30
31
32
# File 'lib/chicago/schema/measure.rb', line 30

def visit(visitor)
  visitor.visit_measure(self)
end