Module: Axiom::Algebra::Summarization::Methods

Defined in:
lib/axiom/algebra/summarization.rb

Instance Method Summary collapse

Instance Method Details

#summarize(summarize_with = TABLE_DEE, *args) {|function| ... } ⇒ Summarization

Return a summarized relation

Examples:

with no arguments

summarization = relation.summarize do |context|
  context.add(:count, context[:id].count)
end

with a relation

summarization = relation.summarize(relation.project([:name])) do |context|
  context.add(:count, context[:id].count)
end

with a header

summarization = relation.summarize([:name]) do |context|
  context.add(:count, context[:id].count)
end

with summarizers

summarization = relation.summarize([:name], summarizers)

Parameters:

Yields:

  • (function)

    Evaluate a summarization function

Yield Parameters:

Returns:



188
189
190
191
192
# File 'lib/axiom/algebra/summarization.rb', line 188

def summarize(summarize_with = TABLE_DEE, *args, &block)
  summarize_per = coerce_to_relation(summarize_with)
  summarizers   = coerce_to_summarizers(summarize_per, *args, &block)
  Summarization.new(self, summarize_per, summarizers)
end