Module: Enumerable

Defined in:
lib/fat_core/enumerable.rb

Overview

Useful extensions to the core Enumerable module.

Instance Method Summary collapse

Instance Method Details

#each_with_flagsObject

Yield each item together with two booleans that indicate whether the item is the first or last item in the Enumerable.

('a'..'z').to_a.each with_flags do |letter, first, last| if first # do something special for 'a' elsif last # do something special for 'z' else # a middling item end end



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fat_core/enumerable.rb', line 17

def each_with_flags
  # Test for beginless range
  return if is_a?(Range) && self.begin.nil?

  last_k = size - 1
  each_with_index do |v, k|
    first = k.zero?
    last  = (k == last_k)
    yield(v, first, last)
  end
end