Module: Enumerable

Defined in:
lib/five_leaves/sum.rb,
lib/five_leaves/enum_util.rb,
lib/five_leaves/lazy_enum.rb

Instance Method Summary collapse

Instance Method Details

#all_match?Boolean

Returns:

  • (Boolean)


7
8
9
10
# File 'lib/five_leaves/enum_util.rb', line 7

def all_match?
  find { |x| return false if not yield(x) }
  true
end

#includes_match?Boolean

Returns:

  • (Boolean)


2
3
4
5
# File 'lib/five_leaves/enum_util.rb', line 2

def includes_match?
  each { |x| return true if yield x }
  false
end

#lazy_map(&block) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/five_leaves/lazy_enum.rb', line 10

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

#lazy_select(&block) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/five_leaves/lazy_enum.rb', line 2

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

#sumObject



2
3
4
# File 'lib/five_leaves/sum.rb', line 2

def sum
  inject(:+)
end