Class: Alf::Engine::Summarize::Hash
- Inherits:
-
Object
- Object
- Alf::Engine::Summarize::Hash
- Includes:
- Cog, Alf::Engine::Summarize
- Defined in:
- lib/alf/engine/summarize/hash.rb
Constant Summary
Constants included from Cog
Cog::EMPTY_CHILDREN, Cog::EMPTY_OPTIONS
Instance Attribute Summary collapse
-
#allbut ⇒ Boolean
readonly
Make an allbut summarization?.
-
#by ⇒ AttrList
readonly
Summarization key.
-
#operand ⇒ Enumerable
readonly
The operand.
-
#summarization ⇒ Summarization
readonly
The summarization to use.
Attributes included from Compiler::Cog
Instance Method Summary collapse
- #_each ⇒ Object
-
#initialize(operand, by, summarization, allbut, expr = nil, compiler = nil) ⇒ Hash
constructor
Creates an Summarize::Hash instance.
Methods included from Cog
#arguments, #children, #each, #options, #to_s
Methods included from Compiler::Cog
#cog_orders, #orderedby?, #relation_type, #to_ascii_tree, #to_cog, #to_relation
Methods included from Alf::Engine::Summarize
Constructor Details
#initialize(operand, by, summarization, allbut, expr = nil, compiler = nil) ⇒ Hash
Creates an Summarize::Hash instance
20 21 22 23 24 25 26 |
# File 'lib/alf/engine/summarize/hash.rb', line 20 def initialize(operand, by, summarization, allbut, expr = nil, compiler = nil) super(expr, compiler) @operand = operand @by = by @summarization = summarization @allbut = allbut end |
Instance Attribute Details
#allbut ⇒ Boolean (readonly)
Returns Make an allbut summarization?.
17 18 19 |
# File 'lib/alf/engine/summarize/hash.rb', line 17 def allbut @allbut end |
#by ⇒ AttrList (readonly)
Returns Summarization key.
11 12 13 |
# File 'lib/alf/engine/summarize/hash.rb', line 11 def by @by end |
#operand ⇒ Enumerable (readonly)
Returns The operand.
8 9 10 |
# File 'lib/alf/engine/summarize/hash.rb', line 8 def operand @operand end |
#summarization ⇒ Summarization (readonly)
Returns The summarization to use.
14 15 16 |
# File 'lib/alf/engine/summarize/hash.rb', line 14 def summarization @summarization end |
Instance Method Details
#_each ⇒ Object
29 30 31 32 33 34 |
# File 'lib/alf/engine/summarize/hash.rb', line 29 def _each index = Materialize::Hash.new(operand, by, allbut, expr) index.each_pair do |k, v| yield k.merge(summarization.summarize(v)) end end |