aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation.rb
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2016-02-04 09:14:05 +1030
committerMatthew Draper <matthew@trebex.net>2016-02-04 09:14:05 +1030
commit5952861948a0918b1955202c1ea19589634537dc (patch)
treeee656e004312461b079cfa85f42165ce2c4121ab /activerecord/lib/active_record/relation.rb
parentcdc112e3ea8bd7b5ba787e64f3f8ee3da3e5a64f (diff)
downloadrails-5952861948a0918b1955202c1ea19589634537dc.tar.gz
rails-5952861948a0918b1955202c1ea19589634537dc.tar.bz2
rails-5952861948a0918b1955202c1ea19589634537dc.zip
Extract a Relation#arel_attribute
Diffstat (limited to 'activerecord/lib/active_record/relation.rb')
-rw-r--r--activerecord/lib/active_record/relation.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index baddf4828a..7e842668c6 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -47,7 +47,7 @@ module ActiveRecord
if !primary_key_value && connection.prefetch_primary_key?(klass.table_name)
primary_key_value = connection.next_sequence_value(klass.sequence_name)
- values[klass.arel_attribute(klass.primary_key, table)] = primary_key_value
+ values[arel_attribute(klass.primary_key)] = primary_key_value
end
end
@@ -105,6 +105,10 @@ module ActiveRecord
[substitutes, binds]
end
+ def arel_attribute(name) # :nodoc:
+ klass.arel_attribute(name, table)
+ end
+
# Initializes new record from relation while maintaining the current
# scope.
#
@@ -373,9 +377,9 @@ module ActiveRecord
stmt.table(table)
if joins_values.any?
- @klass.connection.join_to_update(stmt, arel, @klass.arel_attribute(primary_key, table))
+ @klass.connection.join_to_update(stmt, arel, arel_attribute(primary_key))
else
- stmt.key = @klass.arel_attribute(primary_key, table)
+ stmt.key = arel_attribute(primary_key)
stmt.take(arel.limit)
stmt.order(*arel.orders)
stmt.wheres = arel.constraints
@@ -527,7 +531,7 @@ module ActiveRecord
stmt.from(table)
if joins_values.any?
- @klass.connection.join_to_delete(stmt, arel, @klass.arel_attribute(primary_key, table))
+ @klass.connection.join_to_delete(stmt, arel, arel_attribute(primary_key))
else
stmt.wheres = arel.constraints
end