class Core::Async::Collection
Public Class Methods
build(object) { |value| ... }
click to toggle source
- public
-
Builds a collection from an enumerable object.
# File lib/core/async/collection.rb, line 15 def build(object) aware do errored, stopped = false values = object.map { |value| break if errored || stopped async do if block_given? yield value else value end rescue LocalJumpError stopped = true rescue => error errored = true raise error end } new(values) if values end end
new(values = [])
click to toggle source
# File lib/core/async/collection.rb, line 45 def initialize(values = []) unless values.respond_to?(:each) raise ArgumentError, "values are not enumerable" end @values = values end
Public Instance Methods
<<(value)
click to toggle source
- public
-
Adds a value to the collection.
# File lib/core/async/collection.rb, line 55 def <<(value) @values << value end
Also aliased as: add
each() { |resolve(value)| ... }
click to toggle source
- public
-
Yields each resolved value.
# File lib/core/async/collection.rb, line 62 def each return to_enum(:each) unless block_given? @values.each do |value| yield resolve(value) end end