class Pallets::Pool
Public Class Methods
new(size) { || ... }
click to toggle source
# File lib/pallets/pool.rb, line 3 def initialize(size) raise ArgumentError, 'Pool needs a block to initialize' unless block_given? @queue = Queue.new @size = size size.times { @queue << yield } end
Public Instance Methods
execute() { |item| ... }
click to toggle source
# File lib/pallets/pool.rb, line 15 def execute raise ArgumentError, 'Pool needs a block to execute' unless block_given? begin item = @queue.pop yield item ensure @queue << item end end
size()
click to toggle source
# File lib/pallets/pool.rb, line 11 def size @queue.size end