class Concurrent::Async::AsyncDelegator
def method_missing(method, *args, &block)
-
(ArgumentError)
- the given `args` do not match the arity of `method` -
(NameError)
- the object does not respond to `method` method
Returns:
-
(IVar)
- the result of the method call
Parameters:
-
args
(Array
) -- zero or more arguments to the method -
method
(Symbol
) -- the method being called
def method_missing(method, *args, &block) super unless @delegate.respond_to?(method) Async::validate_argc(@delegate, method, *args) ivar = Concurrent::IVar.new synchronize do @queue.push [ivar, method, args, block] @executor.post { perform } if @queue.length == 1 end ivar end