module Doing

Public Instance Methods

doing(stop_value = nil, &block) click to toggle source
# File lib/doing.rb, line 4
def doing(stop_value = nil, &block)
  raise ArgumentError.new('No block given') unless block_given?

  FluentEnumerator.new(build_enumerator(stop_value, block))
end

Private Instance Methods

build_enumerator(stop_value, block) click to toggle source
# File lib/doing.rb, line 11
def build_enumerator(stop_value, block)
  Enumerator.new do |caller|
    loop do
      value = block.call
      break if value.eql? stop_value
      caller.yield value
    end
  end
end