Module: OnyxCord::Internal::AsyncRuntime
- Defined in:
- lib/onyxcord/internal/async_runtime.rb
Class Method Summary collapse
Class Method Details
.async(&block) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/onyxcord/internal/async_runtime.rb', line 17 def async(&block) current = Async::Task.current? return current.async(&block) if current Async(&block) end |
.run(&block) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/onyxcord/internal/async_runtime.rb', line 10 def run(&block) current = Async::Task.current? return yield current if current Sync(&block) end |
.sleep(duration) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/onyxcord/internal/async_runtime.rb', line 24 def sleep(duration) task = Async::Task.current? return task.sleep(duration) if task.respond_to?(:sleep) Kernel.sleep(duration) end |