mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Don't use arel factory methods for creating join nodes
Directly `klass.new` is clear enough than factory methods.
This commit is contained in:
parent
ab0e39c231
commit
e8cf45dc4a
3 changed files with 4 additions and 4 deletions
|
@ -52,7 +52,7 @@ module ActiveRecord
|
|||
attr_reader :value_transformation
|
||||
|
||||
def join(table, constraint)
|
||||
table.create_join(table, table.create_on(constraint), Arel::Nodes::LeadingJoin)
|
||||
Arel::Nodes::LeadingJoin.new(table, Arel::Nodes::On.new(constraint))
|
||||
end
|
||||
|
||||
def last_chain_scope(scope, reflection, owner)
|
||||
|
|
|
@ -50,7 +50,7 @@ module ActiveRecord
|
|||
end
|
||||
end
|
||||
|
||||
joins << table.create_join(table, table.create_on(nodes), join_type)
|
||||
joins << join_type.new(table, Arel::Nodes::On.new(nodes))
|
||||
|
||||
if others && !others.empty?
|
||||
joins.concat arel.join_sources
|
||||
|
@ -79,7 +79,7 @@ module ActiveRecord
|
|||
private
|
||||
def append_constraints(join, constraints)
|
||||
if join.is_a?(Arel::Nodes::StringJoin)
|
||||
join_string = table.create_and(constraints.unshift(join.left))
|
||||
join_string = Arel::Nodes::And.new(constraints.unshift join.left)
|
||||
join.left = Arel.sql(base_klass.connection.visitor.compile(join_string))
|
||||
else
|
||||
right = join.right
|
||||
|
|
|
@ -1252,7 +1252,7 @@ module ActiveRecord
|
|||
end
|
||||
|
||||
joins.each_with_index do |join, i|
|
||||
joins[i] = table.create_string_join(Arel.sql(join.strip)) if join.is_a?(String)
|
||||
joins[i] = Arel::Nodes::StringJoin.new(Arel.sql(join.strip)) if join.is_a?(String)
|
||||
end
|
||||
|
||||
while joins.first.is_a?(Arel::Nodes::Join)
|
||||
|
|
Loading…
Reference in a new issue