Class: Axiom::Algebra::Summarization::Summaries
- Inherits:
-
Object
- Object
- Axiom::Algebra::Summarization::Summaries
- Defined in:
- lib/axiom/algebra/summarization/summaries.rb
Overview
Summaries for all aggregate functions
Instance Method Summary collapse
-
#initialize(header, summarizers) ⇒ undefined
constructor
private
Initialize Summaries.
-
#summarize_by(tuple) ⇒ self
Execute all summarizers with the tuple, summarized by the header.
-
#to_hash ⇒ Hash
Return the summaries as a Hash.
Constructor Details
#initialize(header, summarizers) ⇒ undefined
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Initialize Summaries
19 20 21 22 23 24 25 |
# File 'lib/axiom/algebra/summarization/summaries.rb', line 19 def initialize(header, summarizers) @header = header @summaries = {} summarizers.each do |name, summarizer| @summaries[name] = Summary.new(summarizer) end end |
Instance Method Details
#summarize_by(tuple) ⇒ self
Execute all summarizers with the tuple, summarized by the header
37 38 39 40 41 42 43 |
# File 'lib/axiom/algebra/summarization/summaries.rb', line 37 def summarize_by(tuple) projection = tuple.project(@header) @summaries.each_value do |summary| summary.summarize_by(projection, tuple) end self end |
#to_hash ⇒ Hash
Return the summaries as a Hash
53 54 55 |
# File 'lib/axiom/algebra/summarization/summaries.rb', line 53 def to_hash @summaries end |