def sum(*args)
      if block_given?
        self.to_a.sum(*args) {|*block_args| yield(*block_args)}
      else
        calculate(:sum, *args)
      end
    end
def sum(*args)
      if block_given?
        self.to_a.sum(*args) {|*block_args| yield(*block_args)}
      else
        calculate(:sum, *args)
      end
    end
Calculates the sum of values on a given column. The value is returned
 with the same data type of the column, 0 if there's no row. See
 +calculate+ for examples with options.

   Person.sum('age') # => 4562