Module: Enumerable

Defined in:
lib/ex_aequo/base/enumerable.rb

Instance Method Summary collapse

Instance Method Details

#find_value(&blk) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/ex_aequo/base/enumerable.rb', line 5

def find_value(&blk)
  each do
    val = blk.(it)
    return val if val
  end
  nil
end

#reduce_until(initial, *end_triggers, &blk) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
# File 'lib/ex_aequo/base/enumerable.rb', line 13

def reduce_until(initial, *end_triggers, &blk)
  raise ArgumentError, "missing end_trigger(s)" if end_triggers.empty?

  ExAequo::Base::Enumerable::EnumerableHelper.reduce_until_with_trigger(self, initial:, end_triggers:, &blk)
end

#reduce_while(initial, *end_triggers, &blk) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/ex_aequo/base/enumerable.rb', line 19

def reduce_while(initial, *end_triggers, &blk)
  if end_triggers.empty?
    ExAequo::Base::Enumerable::EnumerableHelper.reduce_while_simple(self, initial:, &blk)
  else
    ExAequo::Base::Enumerable::EnumerableHelper.reduce_while_with_trigger(self, initial:, end_triggers:, &blk)
  end
end