Class: LazierData::Processor::RootEachSlice
- Inherits:
-
Object
- Object
- LazierData::Processor::RootEachSlice
- Defined in:
- lib/lazier_data/processor/root_each_slice.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(upstream, downstream, batch_size, &block) ⇒ RootEachSlice
constructor
A new instance of RootEachSlice.
Constructor Details
#initialize(upstream, downstream, batch_size, &block) ⇒ RootEachSlice
Returns a new instance of RootEachSlice.
6 7 8 9 10 11 |
# File 'lib/lazier_data/processor/root_each_slice.rb', line 6 def initialize(upstream, downstream, batch_size, &block) @upstream = upstream @downstream = downstream @batch_size = batch_size @block = block end |
Instance Method Details
#call ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/lazier_data/processor/root_each_slice.rb', line 13 def call slicer.each_slice(batch_size) do |raw_yielded| root_items = raw_yielded.map(&:first) yielders = raw_yielded.last[2] @block.call(root_items, *yielders) raw_yielded.each do |root_item, item_store, _| downstream << [root_item, item_store] end end end |