class PromisePool::Future

Public Class Methods

new(promise) click to toggle source
# File lib/promise_pool/future.rb, line 19
def initialize promise
  @promise = promise
end
resolve(future) click to toggle source
# File lib/promise_pool/future.rb, line 4
def self.resolve future
  if future.kind_of?(::Array)
    future.map(&method(:resolve))

  elsif future.kind_of?(::Hash)
    future.inject({}) do |r, (k, v)|
      r[k] = resolve(v)
      r
    end

  else
    future.itself
  end
end

Public Instance Methods

method_missing(msg, *args, &block) click to toggle source
# File lib/promise_pool/future.rb, line 23
def method_missing msg, *args, &block
  @promise.yield.__send__(msg, *args, &block)
end
respond_to_missing?(msg, *args, &block) click to toggle source
# File lib/promise_pool/future.rb, line 27
def respond_to_missing? msg, *args, &block
  @promise.yield.respond_to?(msg, *args, &block)
end