Module: Underware

Defined in:
lib/underware.rb

Defined Under Namespace

Classes: BaseMW, Folded

Class Method Summary collapse

Class Method Details

.exec_underware(mws, *args, &block) ⇒ Object Also known as: exec



44
45
46
# File 'lib/underware.rb', line 44

def exec_underware(mws, *args, &block)
  fold_underware(mws, &block).call(*args)
end

.fold_underware(mws, &block) ⇒ Object Also known as: fold



34
35
36
37
38
39
40
# File 'lib/underware.rb', line 34

def fold_underware(mws, &block)
  return fold_underware([*mws, block]) if block_given?

  mws.reverse_each.inject do |folded, mw|
    Folded.new(mw, folded)
  end
end