module Functo::Compose

Public Instance Methods

>(outer) click to toggle source
# File lib/functo/compose.rb, line 22
def >(outer)
  compose(outer, splat: false)
end
>>(outer) click to toggle source
# File lib/functo/compose.rb, line 26
def >>(outer)
  compose(outer, splat: true)
end
[](*args) click to toggle source
# File lib/functo/compose.rb, line 2
def [](*args)
  call(*args)
end
compose(outer, splat: false) click to toggle source
# File lib/functo/compose.rb, line 10
def compose(outer, splat: false)
  inner = self

  Functo.wrap do |*args, &block|
    if splat
      outer.call(*inner.call(*args), &block)
    else
      outer.call(inner.call(*args), &block)
    end
  end
end
slurp() click to toggle source
# File lib/functo/compose.rb, line 30
def slurp
  inner = self

  Functo.wrap do |arr|
    inner.call(*arr)
  end
end
to_proc() click to toggle source
# File lib/functo/compose.rb, line 6
def to_proc
  public_method(:call).to_proc
end