Method: Arel::SelectManager#join

Defined in:
activerecord/lib/arel/select_manager.rb

#join(relation, klass = Nodes::InnerJoin) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
113
# File 'activerecord/lib/arel/select_manager.rb', line 102

def join(relation, klass = Nodes::InnerJoin)
  return self unless relation

  case relation
  when String, Nodes::SqlLiteral
    raise EmptyJoinError if relation.empty?
    klass = Nodes::StringJoin
  end

  @ctx.source.right << create_join(relation, nil, klass)
  self
end