class Enumerator
new with block, standard in Ruby 1.9
Public Class Methods
Source
# File lib/backports/2.7.0/enumerator/produce.rb, line 7 def self.produce(initial = Backports::Undefined) raise ArgumentError, 'no block given' unless block_given? Enumerator.new do |y| val = initial == Backports::Undefined ? yield() : initial loop do y << val val = yield(val) end end end
Public Instance Methods
Source
# File lib/backports/1.9.1/enumerator/new.rb, line 34 def initialize_with_optional_block(*arg, &block) return initialize_without_optional_block(*arg, &nil) unless arg.empty? # Ruby 1.9 apparently ignores the block if any argument is present initialize_without_optional_block(GeneratorBP.new(&block)) end