Sha256: 8c0eff5b54e5b99203698a46b57a19fda47541c567d4ff507f27d186a34f67f9
Contents?: true
Size: 696 Bytes
Versions: 11
Compression:
Stored size: 696 Bytes
Contents
module ActiveHouse module Querying module GroupBy extend ActiveSupport::Concern included do private :build_group_by_query_part end def build_group_by_query_part "GROUP BY #{values[:group_by].join(', ')}" unless values[:group_by].empty? end def initial_values super.merge group_by: [] end def group_by!(*fields) raise ArgumentError, 'wrong number of arguments' if fields.empty? formatted_fields = fields.map(&:to_s) values[:group_by] = (values[:group_by] + formatted_fields).uniq self end def group_by(*fields) dup.group_by!(*fields) end end end end
Version data entries
11 entries across 11 versions & 1 rubygems