class Phlex::Unbuffered

@api private

def call(...)

Forward some methods to the original underlying method
def call(...)
	@object.call(...)
end

def initialize(object)

def initialize(object)
	@object = object
end

def inspect

def inspect
	"Unbuffered(#{@object.class.name})[object: #{@object.inspect}]"
end

def method_missing(name, *args, **kwargs, &block)

def method_missing(name, *args, **kwargs, &block)
	if @object.respond_to?(name)
		__class__.define_method(name) do |*a, **k, &b|
			@object.capture { @object.public_send(name, *a, **k, &b) }
		end
		# Now we've defined this missing method, we can call it.
		__public_send__(name, *args, **kwargs, &block)
	else
		super
	end
end

def public_send(...)

def public_send(...)
	@object.public_send(...)
end

def respond_to_missing?(...)

def respond_to_missing?(...)
	@object.respond_to?(...)
end

def send(...)

def send(...)
	@object.send(...)
end