class Async::IO
def wrap_blocking_method(new_name, method_name, &block)
@method $1
@!macro [attach] wrap_blocking_method
def wrap_blocking_method(new_name, method_name, &block) if block_given? define_method(new_name, &block) else define_method(new_name) do |*args| async_send(method_name, *args) end end end