class Ferret::Stage

Attributes

join_type[R]
parent[R]
qualifier[RW]
stalk[R]
table[RW]

Public Class Methods

new(parent, stalk, join_type) click to toggle source
Calls superclass method
# File lib/sql-ferret.rb, line 1354
def initialize parent, stalk, join_type
  raise 'type mismatch' \
      unless parent.nil? or parent.is_a? Ferret::Stage
  raise 'type mismatch' \
      unless parent.nil? ?
          stalk.nil? : stalk.is_a?(Ferret::Field)
  raise 'assertion failed' \
      unless [:left, :inner].include? join_type
  super()
  @parent = parent
  @stalk = stalk
  @join_type = join_type

  # If we have a stalk, it identifies this stage's table.
  # If not (which only happens for the very first stage),
  # the parser will use [[table=]] to set the stage's table
  # a bit later.
  @table = stalk && stalk.ref.table
  @qualifier = nil
  return
end