Class: Arel::StringJoin

Inherits:
Join
  • Object
show all
Defined in:
lib/arel/algebra/relations/operations/join.rb,
lib/arel/engines/sql/relations/operations/join.rb

Instance Attribute Summary

Attributes included from Relation

#count

Instance Method Summary collapse

Methods inherited from Join

#eql?, #eval, #hash, #initialize, #join?, #ons, #table_sql, #wheres

Methods included from Relation

#bind, #call, #christener, #compiler, #exclusion_predicate_sql, #externalize, #inclusion_predicate_sql, #join?, #primary_key, #session, #to_sql

Methods included from Relation::DefaultOperations

#groupings, #havings, #inserts, #locked, #orders, #projections, #skipped, #sources, #taken, #wheres

Methods included from Relation::AttributeAccessable

#[], #find_attribute_matching_attribute, #find_attribute_matching_name, #position_of

Methods included from Relation::Operable

#alias, #join, #lock, #outer_join

Methods included from Relation::Operable::Writable

#delete, #insert, #update

Methods included from Relation::Enumerable

#each, #first

Constructor Details

This class inherits a constructor from Arel::Join

Instance Method Details

#attributesObject



55
56
57
# File 'lib/arel/algebra/relations/operations/join.rb', line 55

def attributes
  relation1.externalize.attributes
end

#engineObject



59
60
61
# File 'lib/arel/algebra/relations/operations/join.rb', line 59

def engine
  relation1.engine
end

#externalizable?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/arel/algebra/relations/operations/join.rb', line 51

def externalizable?
  relation1.externalizable?
end

#joins(environment, formatter = Sql::TableReference.new(environment)) ⇒ Object



29
30
31
# File 'lib/arel/engines/sql/relations/operations/join.rb', line 29

def joins(environment, formatter = Sql::TableReference.new(environment))
   [relation1.joins(environment), relation2].compact.join(" ")
end