class Activecube::Processor::Index

Attributes

cardinality[R]
fields[R]
required[R]

Public Class Methods

new(name, *args) click to toggle source
# File lib/activecube/processor/index.rb, line 6
def initialize name, *args
  @fields = [name].flatten
  @cardinality = args.first && args.first[:cardinality]
  @required = args.first && args.first[:required]
end

Public Instance Methods

indexes?(query, measures) click to toggle source
# File lib/activecube/processor/index.rb, line 12
def indexes? query, measures
  (fields - query.selector_column_names(measures)).empty?
end
matches?(query, measures) click to toggle source
# File lib/activecube/processor/index.rb, line 16
def matches? query, measures
  !required ||   (fields -  query.column_names(measures)).empty?
end