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