Module: DefaultWhere::Group

Included in:
DefaultWhere
Defined in:
lib/default_where/group.rb

Instance Method Summary collapse

Instance Method Details

#default_group(*group, select:) ⇒ Object

{

select: 'sum(total_amount)',
select: {
  a: 'sum(total_amount)',
  b: 'sum()'
}

}

group: 'date(created_at)',


14
15
16
17
18
19
20
21
22
23
24
# File 'lib/default_where/group.rb', line 14

def default_group(*group, select:)
  if select.respond_to?(:to_hash)
    selected = select.map do |k, v|
      "#{v} AS #{k}"
    end
  else
    selected = Array(select)
  end
  
  unscoped.select(*selected, *group).group(*select.values)
end