class J8::Function

Public Class Methods

identity() click to toggle source
# File lib/j8/function.rb, line 23
def self.identity
  J8::Function.new { |o| o }
end

Public Instance Methods

apply(o) click to toggle source
# File lib/j8/function.rb, line 7
def apply(o)
  @callable.call(o)
end
compose(before = nil, &block) click to toggle source
# File lib/j8/function.rb, line 11
def compose(before = nil, &block)
  callable = from_callable(before, block)

  J8::Function.new(->(o) { apply(callable.apply(o)) })
end
then(after = nil, &block) click to toggle source
# File lib/j8/function.rb, line 17
def then(after = nil, &block)
  callable = from_callable(after, block)

  J8::Function.new(->(o) { callable.apply(apply(o)) })
end