The question \"Meaning of the word yield\" mentions the Enumerator::Yielder#yield
method. I haven\'t used it before, and wonder under what circumstances it would be
For example you can use it to construct Rack response bodies inline, without creating classes. An Enumerator
can also work "outside-in" - you call Enumerator#each
which calls next
on the enumerator and returns every value in sequence. For example, you can make a Rack response body returning a sequence of numbers:
run ->(env) {
body = Enumerator.new do |y|
9.times { |i| y.yield(i.to_s) }
end
[200, {'Content-Length' => '9'}, body]
}