class Concurrent::Async::AwaitDelegator
Delegates synchronous, thread-safe method calls to the wrapped object.
@!visibility private
Public Class Methods
Source
# File lib/concurrent-ruby/concurrent/async.rb, line 364 def initialize(delegate) @delegate = delegate end
Create a new delegator object wrapping the given delegate.
@param [AsyncDelegator] delegate the object to wrap and delegate method calls to
Public Instance Methods
Source
# File lib/concurrent-ruby/concurrent/async.rb, line 377 def method_missing(method, *args, &block) ivar = @delegate.send(method, *args, &block) ivar.wait ivar end
Delegates method calls to the wrapped object.
@param [Symbol] method the method being called @param [Array] args zero or more arguments to the method
@return [IVar] the result of the method call
@raise [NameError] the object does not respond to ‘method` method @raise [ArgumentError] the given `args` do not match the arity of `method`
Source
# File lib/concurrent-ruby/concurrent/async.rb, line 386 def respond_to_missing?(method, include_private = false) @delegate.respond_to?(method) || super end
Check whether the method is responsive
@param [Symbol] method the method being called
Calls superclass method