diff options
author | Matthew Draper <matthew@trebex.net> | 2016-02-04 09:14:05 +1030 |
---|---|---|
committer | Matthew Draper <matthew@trebex.net> | 2016-02-04 09:14:05 +1030 |
commit | 5952861948a0918b1955202c1ea19589634537dc (patch) | |
tree | ee656e004312461b079cfa85f42165ce2c4121ab /activerecord/lib/active_record/relation.rb | |
parent | cdc112e3ea8bd7b5ba787e64f3f8ee3da3e5a64f (diff) | |
download | rails-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.rb | 12 |
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 |