1
0
Fork 0
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:
Ryuta Kamizono 2020-08-07 03:57:34 +09:00
parent ab0e39c231
commit e8cf45dc4a
3 changed files with 4 additions and 4 deletions

View file

@ -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)

View file

@ -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

View file

@ -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)