class Proc::Enumerator

Attributes

next_block[R]
values[R]

Public Class Methods

new(values, &next_block) click to toggle source
# File lib/proc/enumerator.rb, line 9
def initialize(values, &next_block)
  @values = values
  @next_block = next_block
end

Public Instance Methods

each(enumerable = self, &block) click to toggle source
public

Calls the given block once for each value.

# File lib/proc/enumerator.rb, line 16
def each(enumerable = self, &block)
  return to_enum(:each) unless block

  while enumerable
    enumerable.values.each(&block)
    enumerable = enumerable.next_block&.call
  end
end