class Bmg::Summarizer::Multiple

A summarizer that collects multiple summarization as a wrapped tuple.

Example:

# direct ruby usage
Bmg::Summarizer.multiple(x: ..., y: ...).summarize(...)

Public Class Methods

new(defs) click to toggle source
# File lib/bmg/summarizer/multiple.rb, line 14
def initialize(defs)
  @summarization = Summarizer.summarization(defs)
end

Public Instance Methods

finalize(memo) click to toggle source
# File lib/bmg/summarizer/multiple.rb, line 32
def finalize(memo)
  @summarization.each_pair.each_with_object({}){|(k,v),memo2|
    memo2[k] = v.finalize(memo[k])
  }
end
happens(memo, val) click to toggle source

Adds val to the memo array

# File lib/bmg/summarizer/multiple.rb, line 26
def happens(memo, val)
  @summarization.each_pair.each_with_object({}){|(k,v),memo2|
    memo2[k] = v.happens(memo[k], val)
  }
end
least() click to toggle source

Returns [] as least value.

# File lib/bmg/summarizer/multiple.rb, line 19
def least()
  @summarization.each_pair.each_with_object({}){|(k,v),memo|
    memo[k] = v.least
  }
end