class Dry::Types::Implication

Implication type

@api public

Public Class Methods

operator() click to toggle source
# File lib/dry/types/implication.rb, line 11
def self.operator
  :>
end

Public Instance Methods

call_safe(input, &block) click to toggle source

@param [Object] input

@return [Object]

@api private

# File lib/dry/types/implication.rb, line 33
def call_safe(input, &block)
  if left.try(input).success?
    right.call_safe(input, &block)
  else
    input
  end
end
call_unsafe(input) click to toggle source

@param [Object] input

@return [Object]

@api private

# File lib/dry/types/implication.rb, line 20
def call_unsafe(input)
  if left.try(input).success?
    right.call_unsafe(input)
  else
    input
  end
end
primitive?(value) click to toggle source

@param [Object] value

@return [Boolean]

@api private

# File lib/dry/types/implication.rb, line 57
def primitive?(value)
  if left.primitive?(value)
    right.primitive?(value)
  else
    true
  end
end
try(input) click to toggle source

@param [Object] input

@api public

# File lib/dry/types/implication.rb, line 44
def try(input)
  if left.try(input).success?
    right.try(input)
  else
    Result::Success.new(input)
  end
end