Module: Rumonade::ArrayExtensions::InstanceMethods

Defined in:
lib/rumonade/array.rb

Constant Summary collapse

METHODS_TO_REPLACE_WITH_MONAD =

Preserve native map method for performance

Monad::DEFAULT_METHODS_TO_REPLACE_WITH_MONAD - [:map]

Instance Method Summary collapse

Instance Method Details

#bind(lam = nil, &blk) ⇒ Object



20
21
22
23
24
25
# File 'lib/rumonade/array.rb', line 20

def bind(lam = nil, &blk)
  inject(self.class.empty) do |arr, elt|
    res = (lam || blk).call(elt)
    arr + (res.respond_to?(:to_a) ? res.to_a : [res])
  end
end