class Compendium::SumQuery

A SumQuery is a Query which runs an SQL sum statement (with a given column) Often useful in conjunction with a grouped query and counter cache (alternately, see CountQuery)

Attributes

column[RW]

Public Class Methods

new(*args) click to toggle source
Calls superclass method Compendium::Query::new
# File lib/compendium/sum_query.rb, line 12
def initialize(*args)
  @report = args.shift if arg_is_report?(args.first)
  @column = args.slice!(1)
  super(*args)

  @options.reverse_merge!(order: "SUM(#{@column})", reverse: true)
end

Private Instance Methods

execute_command(command) click to toggle source
# File lib/compendium/sum_query.rb, line 22
def execute_command(command)
  return [] if command.nil?
  raise InvalidCommand unless command.respond_to?(:sum)
  command.sum(column)
end