lib/quack_concurrency/future.rb
def raise(exception = nil)
      exception = case
      when exception == nil then StandardError.new
      when exception.is_a?(Exception) then exception
      when Exception >= exception then exception.new
      else
        Kernel.raise(TypeError, "'exception' must be nil or an instance of or descendant of Exception")
      end
      @mutex.synchronize do
        Kernel.raise(Complete) if @complete
        @complete = true
        @exception = exception
        @waiter.resume_all_indefinitely
      end
      nil
    end
def raise(exception = nil)
      exception = case
      when exception == nil then StandardError.new
      when exception.is_a?(Exception) then exception
      when Exception >= exception then exception.new
      else
        Kernel.raise(TypeError, "'exception' must be nil or an instance of or descendant of Exception")
      end
      @mutex.synchronize do
        Kernel.raise(Complete) if @complete
        @complete = true
        @exception = exception
        @waiter.resume_all_indefinitely
      end
      nil
    end
def raise ( exception = nil ) exception = case when exception == nil then StandardError . new when exception . is_a? ( Exception ) then exception when Exception >= exception then exception . new else Kernel . raise ( TypeError , "'exception' must be nil or an instance of or descendant of Exception" ) end @mutex . synchronize do Kernel . raise ( Complete ) if @complete @complete = true @exception = exception @waiter . resume_all_indefinitely end nil end
Sets it to an error.
 @raise [Complete] if the it has already completed
 @param exception [nil,Object] +Exception+ class or instance to set, otherwise a +StandardError+ will be set
 @return [void]
Sets it to an error .