Class: LazierData::Processor

Inherits:
Object
  • Object
show all
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

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

#callObject



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