Class: Stages::Feeder

Inherits:
Stage
  • Object
show all
Defined in:
lib/stages/feeder.rb

Instance Attribute Summary

Attributes inherited from Stage

#source

Instance Method Summary collapse

Methods inherited from Stage

#die, #done?, #drop_leftmost!, #each, #end?, #handle_value, #initialize_loop, #input, #length, #output, #reset, #root_source, #run, #source_empty?, #to_enum, #|

Constructor Details

#initializeFeeder

Returns a new instance of Feeder.



3
4
5
6
# File 'lib/stages/feeder.rb', line 3

def initialize
  @values = []
  super()
end

Instance Method Details

#<<(value) ⇒ Object



8
9
10
11
# File 'lib/stages/feeder.rb', line 8

def <<(value)
  @values.push(value)
  reset if done?
end

#processObject



13
14
15
16
17
18
# File 'lib/stages/feeder.rb', line 13

def process
  loop do
    break if @values.empty?
    handle_value @values.shift
  end
end