Class: Activecube::Query::Item

Inherits:
Object
  • Object
show all
Includes:
ChainAppender
Defined in:
lib/activecube/query/item.rb

Direct Known Subclasses

Measure, Selector, Slice

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cube, key, definition) ⇒ Item

Returns a new instance of Item.



7
8
9
10
11
# File 'lib/activecube/query/item.rb', line 7

def initialize cube, key, definition
  @key = key
  @cube = cube
  @definition = definition
end

Instance Attribute Details

#cubeObject (readonly)

Returns the value of attribute cube.



6
7
8
# File 'lib/activecube/query/item.rb', line 6

def cube
  @cube
end

#definitionObject (readonly)

Returns the value of attribute definition.



6
7
8
# File 'lib/activecube/query/item.rb', line 6

def definition
  @definition
end

#keyObject (readonly)

Returns the value of attribute key.



6
7
8
# File 'lib/activecube/query/item.rb', line 6

def key
  @key
end

Instance Method Details

#alias!(new_key) ⇒ Object



17
18
19
# File 'lib/activecube/query/item.rb', line 17

def alias! new_key
  self.class.new cube, new_key, definition
end

#required_column_namesObject



13
14
15
# File 'lib/activecube/query/item.rb', line 13

def required_column_names
  definition.class.column_names || []
end

#to_sObject



21
22
23
# File 'lib/activecube/query/item.rb', line 21

def to_s
  "#{definition.class.name}(#{key})"
end