Class: Chicago::Schema::CountColumn

Inherits:
CalculatedColumn show all
Defined in:
lib/chicago/schema/query_column.rb

Instance Method Summary collapse

Methods inherited from CalculatedColumn

#column_alias, #filter_dataset, #group_name, make

Methods inherited from QueryColumn

column, #filter_dataset, #method_missing

Constructor Details

#initialize(column) ⇒ CountColumn

Returns a new instance of CountColumn.



157
158
159
# File 'lib/chicago/schema/query_column.rb', line 157

def initialize(column)
  super column, :count
end

Dynamic Method Handling

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

Instance Method Details

#labelObject



165
166
167
168
169
170
171
172
173
# File 'lib/chicago/schema/query_column.rb', line 165

def label
  if @column.label.kind_of?(Array)
    new_label = @column.label.dup
    new_label[0] = @column.countable_label || "No. of #{@column.label.first.pluralize}"
    new_label
  else
    @column.countable_label || "No. of #{@column.label.pluralize}"
  end
end

#select_nameObject



161
162
163
# File 'lib/chicago/schema/query_column.rb', line 161

def select_name
  :count.sql_function(@column.count_name).distinct
end