class Core::Async::Enumerator
Public Class Methods
new(object)
click to toggle source
# File lib/core/async/enumerator.rb, line 14 def initialize(object) unless object.respond_to?(:each) raise ArgumentError, "object is not enumerable" end @object = object end
Public Instance Methods
each() { |value| ... }
click to toggle source
- public
-
Yields each value within its own async context, waiting on the enumeration to complete.
# File lib/core/async/enumerator.rb, line 24 def each unless block_given? return to_enum(:each) end await do errored, stopped = false @object.each do |value| break if errored || stopped async do yield value rescue LocalJumpError stopped = true rescue => error errored = true raise error end end end end