class Arel::Nodes::SelectCore

Attributes

groups[RW]
having[RW]
projections[RW]
set_quantifier[RW]
source[RW]
top[RW]
wheres[RW]
windows[RW]

Public Class Methods

new() click to toggle source
Calls superclass method Arel::Nodes::Node.new
# File lib/arel/nodes/select_core.rb, line 7
def initialize
  super()
  @source         = JoinSource.new nil
  @top            = nil

  # http://savage.net.au/SQL/sql-92.bnf.html#set%20quantifier
  @set_quantifier = nil
  @projections    = []
  @wheres         = []
  @groups         = []
  @having         = nil
  @windows        = []
end

Public Instance Methods

==(other)
Alias for: eql?
eql?(other) click to toggle source
# File lib/arel/nodes/select_core.rb, line 49
def eql? other
  self.class == other.class &&
    self.source == other.source &&
    self.top == other.top &&
    self.set_quantifier == other.set_quantifier &&
    self.projections == other.projections &&
    self.wheres == other.wheres &&
    self.groups == other.groups &&
    self.having == other.having &&
    self.windows == other.windows
end
Also aliased as: ==
from() click to toggle source
# File lib/arel/nodes/select_core.rb, line 21
def from
  @source.left
end
Also aliased as: froms
from=(value) click to toggle source
# File lib/arel/nodes/select_core.rb, line 25
def from= value
  @source.left = value
end
Also aliased as: froms=
froms()
Alias for: from
froms=(value)
Alias for: from=
hash() click to toggle source
# File lib/arel/nodes/select_core.rb, line 42
def hash
  [
    @source, @top, @set_quantifier, @projections,
    @wheres, @groups, @having, @windows
  ].hash
end
initialize_copy(other) click to toggle source
Calls superclass method
# File lib/arel/nodes/select_core.rb, line 32
def initialize_copy other
  super
  @source      = @source.clone if @source
  @projections = @projections.clone
  @wheres      = @wheres.clone
  @groups      = @groups.clone
  @having      = @having.clone if @having
  @windows     = @windows.clone
end