Class: Chicago::Schema::AbstractQualifiedColumn Abstract

Inherits:
QueryColumn
  • Object
show all
Defined in:
lib/chicago/schema/query_column.rb

Overview

This class is abstract.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from QueryColumn

column, #filter_dataset, #method_missing

Constructor Details

#initialize(owner, column, column_alias) ⇒ AbstractQualifiedColumn

Returns a new instance of AbstractQualifiedColumn.



51
52
53
54
55
# File 'lib/chicago/schema/query_column.rb', line 51

def initialize(owner, column, column_alias)
  super column
  @owner = owner
  @column_alias = column_alias
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Chicago::Schema::QueryColumn

Instance Attribute Details

#column_aliasObject (readonly)

Returns the value of attribute column_alias.



56
57
58
# File 'lib/chicago/schema/query_column.rb', line 56

def column_alias
  @column_alias
end

#count_nameObject (readonly)

Returns the value of attribute count_name.



56
57
58
# File 'lib/chicago/schema/query_column.rb', line 56

def count_name
  @count_name
end

#group_nameObject (readonly)

Returns the value of attribute group_name.



56
57
58
# File 'lib/chicago/schema/query_column.rb', line 56

def group_name
  @group_name
end

#ownerObject (readonly)

Returns the value of attribute owner.



56
57
58
# File 'lib/chicago/schema/query_column.rb', line 56

def owner
  @owner
end

#select_nameObject (readonly)

Returns the value of attribute select_name.



56
57
58
# File 'lib/chicago/schema/query_column.rb', line 56

def select_name
  @select_name
end

Instance Method Details

#calculate(operation) ⇒ Object



64
65
66
# File 'lib/chicago/schema/query_column.rb', line 64

def calculate(operation)
  CalculatedColumn.make(operation, self)
end

#pivot(pivot_col, elements, unit) ⇒ Object



58
59
60
61
62
# File 'lib/chicago/schema/query_column.rb', line 58

def pivot(pivot_col, elements, unit)
  elements.zip((0..elements.size).to_a).map do |e,i|
    PivotedColumn.new(self, pivot_col, i, e, unit)
  end
end