Class: Enumerator

Inherits:
Object
  • Object
show all
Defined in:
lib/chef/knife/uploader_base.rb

Overview

“Lazy select” from www.michaelharrison.ws/weblog/?p=163

Instance Method Summary collapse

Instance Method Details

#lazy_map(&block) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/chef/knife/uploader_base.rb', line 32

def lazy_map(&block)
  Enumerator.new do |yielder|
    self.each do |val|
      yielder.yield(block.call(val))
    end
  end
end

#lazy_select(&block) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/chef/knife/uploader_base.rb', line 24

def lazy_select(&block)
  Enumerator.new do |yielder|
    self.each do |val|
      yielder.yield(val) if block.call(val)
    end
  end
end