class ActiveReporter::Dimension::Category
Public Instance Methods
all_values()
click to toggle source
# File lib/active_reporter/dimension/category.rb, line 24 def all_values relate(report.base_relation).pluck("DISTINCT #{expression}").map(&method(:sanitize_sql_value)) end
filter(relation)
click to toggle source
# File lib/active_reporter/dimension/category.rb, line 6 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
group(relation)
click to toggle source
# File lib/active_reporter/dimension/category.rb, line 13 def group(relation) order relation.select("#{expression} AS #{sql_value_name}").group(sql_value_name) end
group_values()
click to toggle source
# File lib/active_reporter/dimension/category.rb, line 17 def group_values return filter_values if filtering? i = report.groupers.index(self) report.raw_data.keys.map { |x| x[i] }.uniq end