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, #qualified_label

Constructor Details

#initialize(column) ⇒ CountColumn

Returns a new instance of CountColumn.



177
178
179
# File 'lib/chicago/schema/query_column.rb', line 177

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



185
186
187
188
189
190
191
192
193
# File 'lib/chicago/schema/query_column.rb', line 185

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



181
182
183
# File 'lib/chicago/schema/query_column.rb', line 181

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