Class: LazierData::Processor
- Inherits:
-
Object
- Object
- LazierData::Processor
- Defined in:
- lib/lazier_data/processor.rb,
lib/lazier_data/processor/root_each.rb,
lib/lazier_data/processor/child_each.rb,
lib/lazier_data/processor/root_each_slice.rb,
lib/lazier_data/processor/child_each_slice.rb
Defined Under Namespace
Classes: ChildEach, ChildEachSlice, RootEach, RootEachSlice
Constant Summary collapse
- NOTHING =
:_lazier_data_nothing
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(upstream, batch_size, path, &block) ⇒ Processor
constructor
A new instance of Processor.
Constructor Details
#initialize(upstream, batch_size, path, &block) ⇒ Processor
Returns a new instance of Processor.
18 19 20 21 22 23 24 |
# File 'lib/lazier_data/processor.rb', line 18 def initialize(upstream, batch_size, path, &block) @upstream = upstream @downstream = downstream @batch_size = batch_size @path = path @block = block end |
Class Method Details
.root(inputs) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/lazier_data/processor.rb', line 9 def root(inputs) Enumerator.new do |y| inputs.each do |item| y << [item, ItemStore.new] end end end |
Instance Method Details
#call ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/lazier_data/processor.rb', line 26 def call Enumerator.new do |downstream| if batch_size.nil? build_each_processor(downstream) else build_each_slice_processor(downstream) end end end |