Class: Alf::Engine::Summarize::Hash

Inherits:
Object
  • Object
show all
Includes:
Cog
Defined in:
lib/alf-engine/alf/engine/summarize/hash.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Cog

#each, #to_dot, #to_relation

Constructor Details

#initialize(operand, by, summarization, allbut) ⇒ Hash

Creates an Summarize::Hash instance



19
20
21
22
23
24
# File 'lib/alf-engine/alf/engine/summarize/hash.rb', line 19

def initialize(operand, by, summarization, allbut)
  @operand = operand
  @by = by
  @summarization = summarization
  @allbut = allbut
end

Instance Attribute Details

#allbutBoolean (readonly)

Returns Make an allbut summarization?.

Returns:

  • (Boolean)

    Make an allbut summarization?



16
17
18
# File 'lib/alf-engine/alf/engine/summarize/hash.rb', line 16

def allbut
  @allbut
end

#byAttrList (readonly)

Returns Summarization key.

Returns:

  • (AttrList)

    Summarization key



10
11
12
# File 'lib/alf-engine/alf/engine/summarize/hash.rb', line 10

def by
  @by
end

#operandEnumerable (readonly)

Returns The operand.

Returns:

  • (Enumerable)

    The operand



7
8
9
# File 'lib/alf-engine/alf/engine/summarize/hash.rb', line 7

def operand
  @operand
end

#summarizationSummarization (readonly)

Returns The summarization to use.

Returns:

  • (Summarization)

    The summarization to use



13
14
15
# File 'lib/alf-engine/alf/engine/summarize/hash.rb', line 13

def summarization
  @summarization
end

Instance Method Details

#_eachObject



27
28
29
30
31
32
# File 'lib/alf-engine/alf/engine/summarize/hash.rb', line 27

def _each
  index = Materialize::Hash.new(operand, by, allbut)
  index.each_pair do |k, v|
    yield k.merge(summarization.summarize(v))
  end
end