aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorKeenan Brock <keenan@thebrocks.net>2016-06-06 11:34:31 -0400
committerKeenan Brock <keenan@thebrocks.net>2016-10-04 10:02:03 -0400
commit27f8f74ebfe8e8a560a2ae9be24a0cc791cb8c8f (patch)
tree313b3cfa5866744993975ac80a08f647cde91c45 /activerecord/lib/active_record
parent0fc115724b87f7b4c990dc26d8b42f48ae72dfeb (diff)
downloadrails-27f8f74ebfe8e8a560a2ae9be24a0cc791cb8c8f.tar.gz
rails-27f8f74ebfe8e8a560a2ae9be24a0cc791cb8c8f.tar.bz2
rails-27f8f74ebfe8e8a560a2ae9be24a0cc791cb8c8f.zip
Use attribute_names over column_names
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/relation/calculations.rb8
1 files changed, 2 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb
index a887be8a20..e4676f79a5 100644
--- a/activerecord/lib/active_record/relation/calculations.rb
+++ b/activerecord/lib/active_record/relation/calculations.rb
@@ -112,10 +112,6 @@ module ActiveRecord
# ...
# end
def calculate(operation, column_name)
- if column_name.is_a?(Symbol) && attribute_alias?(column_name)
- column_name = attribute_alias(column_name)
- end
-
if has_include?(column_name)
relation = construct_relation_for_association_calculations
relation = relation.distinct if operation.to_s.downcase == "count"
@@ -215,8 +211,8 @@ module ActiveRecord
def aggregate_column(column_name)
return column_name if Arel::Expressions === column_name
- if @klass.column_names.include?(column_name.to_s)
- Arel::Attribute.new(@klass.unscoped.table, column_name)
+ if @klass.has_attribute?(column_name.to_s) || @klass.attribute_alias?(column_name.to_s)
+ @klass.arel_attribute(column_name)
else
Arel.sql(column_name == :all ? "*" : column_name.to_s)
end