class ActiveReporter::Dimension::Enum

Public Instance Methods

all_values() click to toggle source
# File lib/active_reporter/dimension/enum.rb, line 12
def all_values
  enum_values.keys.tap { |values| values.unshift(nil) unless values.include?(nil) }.uniq
end
group_values() click to toggle source
# File lib/active_reporter/dimension/enum.rb, line 6
def group_values
  return filter_values if filtering?

  all_values & report_values
end

Private Instance Methods

enum?() click to toggle source
# File lib/active_reporter/dimension/enum.rb, line 33
def enum?
  true # Hash(model&.defined_enums).include?(attribute.to_s)
end
enum_values() click to toggle source
# File lib/active_reporter/dimension/enum.rb, line 18
def enum_values
  model.defined_enums[attribute.to_s] || {}
end
report_values() click to toggle source
# File lib/active_reporter/dimension/enum.rb, line 22
def report_values
  return [] if report.raw_data.nil?

  i = report.groupers.index(self)
  report.raw_data.keys.map { |x| x[i] }.uniq
end
sanitize_sql_value(value) click to toggle source
# File lib/active_reporter/dimension/enum.rb, line 29
def sanitize_sql_value(value)
  enum_values.invert[value]
end