diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-03-10 22:25:00 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-03-10 22:25:00 +0900 |
commit | c4c8d808d0054dff9bf6e783638b8ea2f3499da1 (patch) | |
tree | b4c433fcf5fc05073b81ba12a7a55889ea944eef /activerecord/lib/active_record/relation | |
parent | c8c1460f7a97c15dff641a30e63914991d407595 (diff) | |
download | rails-c4c8d808d0054dff9bf6e783638b8ea2f3499da1.tar.gz rails-c4c8d808d0054dff9bf6e783638b8ea2f3499da1.tar.bz2 rails-c4c8d808d0054dff9bf6e783638b8ea2f3499da1.zip |
Simply forward `Calculations#count` to `Enumerable#count`
Follow up of #24203.
Since b644964b `ActiveRecord::Relation` includes `Enumerable` so it is
enough to call `super` simply.
Diffstat (limited to 'activerecord/lib/active_record/relation')
-rw-r--r-- | activerecord/lib/active_record/relation/calculations.rb | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb index f4cdaf3948..9cabd1af13 100644 --- a/activerecord/lib/active_record/relation/calculations.rb +++ b/activerecord/lib/active_record/relation/calculations.rb @@ -37,11 +37,8 @@ module ActiveRecord # Note: not all valid {Relation#select}[rdoc-ref:QueryMethods#select] expressions are valid #count expressions. The specifics differ # between databases. In invalid cases, an error from the database is thrown. def count(column_name = nil) - if block_given? - to_a.count { |*block_args| yield(*block_args) } - else - calculate(:count, column_name) - end + return super() if block_given? + calculate(:count, column_name) end # Calculates the average value on a given column. Returns +nil+ if there's @@ -75,8 +72,8 @@ module ActiveRecord # #calculate for examples with options. # # Person.sum(:age) # => 4562 - def sum(column_name = nil, &block) - return super(&block) if block_given? + def sum(column_name = nil) + return super() if block_given? calculate(:sum, column_name) end |