class Activecube::Query::Selector

Constants

ARRAY_OPERATORS
ARRAY_OPERATOR_MAP
OPERATORS

Attributes

operator[R]

Public Class Methods

and(selectors) click to toggle source
# File lib/activecube/query/selector.rb, line 149
def self.and(selectors)
  CombineSelector.new(selectors, Operator.new(:and, nil))
end
new(cube, key, definition, operator = nil) click to toggle source
Calls superclass method Activecube::Query::Item::new
# File lib/activecube/query/selector.rb, line 80
def initialize cube, key, definition, operator = nil
  super cube, key, definition
  @operator = operator
end
or(selectors) click to toggle source
# File lib/activecube/query/selector.rb, line 145
def self.or(selectors)
  CombineSelector.new(selectors, Operator.new(:or, nil) )
end

Public Instance Methods

==(other) click to toggle source
# File lib/activecube/query/selector.rb, line 133
def == other
  eql? other
end
alias!(new_key) click to toggle source
# File lib/activecube/query/selector.rb, line 113
def alias! new_key
  self.class.new cube, new_key, definition, operator
end
append_query(model, cube_query, table, query) click to toggle source
# File lib/activecube/query/selector.rb, line 117
def append_query model, cube_query, table, query
  query = append_with!(model, cube_query, table, query)
  query.where(expression model, table, cube_query)
end
eql?(other) click to toggle source
# File lib/activecube/query/selector.rb, line 126
def eql?(other)
  return other.kind_of?(Selector) &&
      self.cube==other.cube &&
      self.operator == other.operator &&
      self.definition.class == other.definition.class
end
expression(model, arel_table, cube_query) click to toggle source
# File lib/activecube/query/selector.rb, line 122
def expression model, arel_table, cube_query
  definition.expression model, arel_table, self, cube_query
end
hash() click to toggle source
# File lib/activecube/query/selector.rb, line 137
def hash
  self.definition.class.hash + self.operator.hash
end
to_s() click to toggle source
# File lib/activecube/query/selector.rb, line 141
def to_s
  "Selector #{super}"
end