class PBatcher::Iterator

Attributes

data[R]

Public Class Methods

new(generator, data) click to toggle source
Calls superclass method PBatcher::Handler::new
# File lib/pbatcher/iterator.rb, line 5
def initialize(generator, data)
  super(generator)
  @data = data
end

Public Instance Methods

iterate(&block) click to toggle source
# File lib/pbatcher/iterator.rb, line 10
def iterate(&block)
  iterator.each(&block)
end

Private Instance Methods

iterator() click to toggle source
# File lib/pbatcher/iterator.rb, line 16
def iterator
  case data
  when Enumerator
    data
  when Proc
    data.call()
  when ->(data) { data.respond_to? :each }
    data
  else
    raise NotImplementedError, "Data type cannot be handled because it doesn't respond to :each."
  end
end