Sha256: 40c0389bc60724b2c93cf7f4c92315aca4d733cde860047ac8d401843c5584a3
Contents?: true
Size: 738 Bytes
Versions: 1
Compression:
Stored size: 738 Bytes
Contents
module Repor module Dimensions class CategoryDimension < BaseDimension def filter(relation) values = filter_values query = "#{expression} IN (?)" query = "#{expression} IS NULL OR #{query}" if values.include?(nil) relation.where(query, values.compact) end def group(relation) order relation.select("#{expression} AS #{sql_value_name}").group(sql_value_name) end def group_values if filtering? filter_values else i = report.groupers.index(self) report.raw_data.map { |x, _y| x[i] }.uniq end end def all_values report.relation.pluck("DISTINCT #{expression}") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
repor-0.0.1 | lib/repor/dimensions/category_dimension.rb |