class Fear::PartialFunction::AndThen

Composite function produced by +PartialFunction#and_then+ method @api private

Attributes

function[R]
partial_function[R]

@!attribute partial_function

@return [Fear::PartialFunction]

@!attribute function

@return [Proc]

Public Class Methods

new(partial_function, &function) click to toggle source

@param partial_function [Fear::PartialFunction] @param function [Proc]

# File lib/fear/partial_function/and_then.rb, line 12
def initialize(partial_function, &function)
  @partial_function = partial_function
  @function = function
end

Public Instance Methods

call(arg) click to toggle source

@param arg [any] @return [any ]

# File lib/fear/partial_function/and_then.rb, line 27
def call(arg)
  function.(partial_function.(arg))
end
call_or_else(arg) { |arg| ... } click to toggle source

@param arg [any] @yield [arg] @return [any]

# File lib/fear/partial_function/and_then.rb, line 40
def call_or_else(arg)
  result = partial_function.call_or_else(arg) do
    return yield(arg)
  end
  function.(result)
end
defined_at?(arg) click to toggle source

@param arg [any] @return [Boolean]

# File lib/fear/partial_function/and_then.rb, line 33
def defined_at?(arg)
  partial_function.defined_at?(arg)
end