Class: Bmg::Summarizer::Avg

Inherits:
Bmg::Summarizer show all
Defined in:
lib/bmg/summarizer/avg.rb

Overview

Average summarizer.

Example:

# direct ruby usage
Bmg::Summarizer.avg(:qty).summarize(...)

Instance Attribute Summary

Attributes inherited from Bmg::Summarizer

#functor, #options

Instance Method Summary collapse

Methods inherited from Bmg::Summarizer

avg, collect, concat, count, #happens, #initialize, max, min, stddev, sum, #summarize, #to_summarizer_name, variance

Constructor Details

This class inherits a constructor from Bmg::Summarizer

Instance Method Details

#_happens(memo, val) ⇒ Object

Collects one more value + the sum of all



19
20
21
# File 'lib/bmg/summarizer/avg.rb', line 19

def _happens(memo, val) 
  [memo.first + val, memo.last + 1]
end

#finalize(memo) ⇒ Object

Finalizes the computation.



24
25
26
# File 'lib/bmg/summarizer/avg.rb', line 24

def finalize(memo) 
  memo.first / memo.last 
end

#leastObject

Returns [0.0, 0.0] as least value.



14
15
16
# File 'lib/bmg/summarizer/avg.rb', line 14

def least()
  [0.0, 0.0]
end