Module: Addy

Defined in:
lib/addy.rb

Instance Method Summary collapse

Instance Method Details

#summation(injectable = nil) ⇒ Object Also known as: sum



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/addy.rb', line 2

def summation(injectable = nil)
  injectable ||= self
  
  raise "#{injectable.class.name} does not implement inject." unless injectable.respond_to? :inject
  
  injectable.inject(0) do |memo, num|
    if block_given?
      yield(num) + memo
    else
      num + memo
    end
  end
end