Sha256: 7b0ba64ef4d0cbf859c09f67121f1cce7c3523ba8fbc17c47cda9b9cebcf799a

Contents?: true

Size: 331 Bytes

Versions: 2

Compression:

Stored size: 331 Bytes

Contents

# Author: Rob Fors
# Revision Date: 20180102

module QuackConcurrency
  class Waiter
  
    def initialize(duck_types: {})
      queue_class = duck_types[:queue] || Queue
      @queue = queue_class.new
    end
    
    def resume(value = nil)
      @queue << value
    end
    
    def wait
      @queue.pop
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
quack_concurrency-0.0.1 lib/quack_concurrency/waiter.rb
quack_concurrency-0.0.0 lib/quack_concurrency/waiter.rb