From: Trans Date: 2008-03-08T04:17:56+09:00 Subject: ActiveSupport Enumerable#sum should not use #size ActiveSupport defines this for Enumerable#sum: module Enumerable def sum(identity = 0, &block) return identity unless size > 0 if block_given? map(&block).sum else inject { |sum, element| sum + element } end end end The use of #size shouldn't be used in an Enumerable method --since it is not part of Enumerable's defined interface..... Ah, I was just about to ask what anyone thought the fix to this is, but it occurs to me that it might be: def sum(identity = 0, &block) if block_given? map(&block).sum else inject { |sum, element| sum + element } || identity end end Look right? T.