1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Remove #sum with a block was deprecated.

This commit is contained in:
kennyj 2013-06-01 21:36:50 +09:00
parent d8c6f52d3b
commit 5d75579eec
3 changed files with 1 additions and 21 deletions

View file

@ -56,15 +56,7 @@ module ActiveRecord
#
# Person.sum(:age) # => 4562
def sum(*args)
if block_given?
ActiveSupport::Deprecation.warn(
"Calling #sum with a block is deprecated and will be removed in Rails 4.1. " \
"If you want to perform sum calculation over the array of elements, use `to_a.sum(&block)`."
)
self.to_a.sum(*args) {|*block_args| yield(*block_args)}
else
calculate(:sum, *args)
end
calculate(:sum, *args)
end
# This calculates aggregate values in the given column. Methods for count, sum, average,

View file

@ -1747,12 +1747,6 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
assert_deprecated { klass.has_many :foo, :counter_sql => 'lol' }
end
test "sum calculation with block for array compatibility is deprecated" do
assert_deprecated do
posts(:welcome).comments.sum { |c| c.id }
end
end
test "has many associations on new records use null relations" do
post = Post.new

View file

@ -410,12 +410,6 @@ class CalculationsTest < ActiveRecord::TestCase
Account.where("credit_limit > 50").from('accounts').sum(:credit_limit)
end
def test_sum_array_compatibility_deprecation
assert_deprecated do
assert_equal Account.sum(:credit_limit), Account.sum(&:credit_limit)
end
end
def test_average_with_from_option
assert_equal Account.average(:credit_limit), Account.from('accounts').average(:credit_limit)
assert_equal Account.where("credit_limit > 50").average(:credit_limit),