class Worker::Defer

Public Class Methods

new(&block) click to toggle source
# File lib/worker.rb, line 9
def initialize(&block)
  @value = Queue.new

  Thread.new do
    @value.push block.call
  end
end

Public Instance Methods

value() click to toggle source
# File lib/worker.rb, line 17
def value
  @value.pop
end
value!() click to toggle source
# File lib/worker.rb, line 21
def value!
  if @value.length == 1
    value
  else
    raise ValueError
  end
end