class InThreads::QueueEnum

Enum out of queue

Public Class Methods

new(size = nil) click to toggle source
# File lib/in_threads.rb, line 154
def initialize(size = nil)
  @queue = size ? SizedQueue.new(size) : Queue.new
end

Public Instance Methods

close(clear = false) click to toggle source
# File lib/in_threads.rb, line 169
def close(clear = false)
  @closed = true
  @queue.clear if clear
  @queue.push(nil)
end
each(&block) click to toggle source
# File lib/in_threads.rb, line 158
def each(&block)
  while (args = @queue.pop)
    block.call(*args)
  end
  nil # non reusable
end
push(*args) click to toggle source
# File lib/in_threads.rb, line 165
def push(*args)
  @queue.push(args) unless @closed
end