class Tchae::Result

Public Class Methods

new(wrapper) click to toggle source
# File lib/tchae/core.rb, line 162
def initialize(wrapper)
  @wrapper = wrapper
  @valtor = nil
end

Public Instance Methods

expect(constraint = nil, &proc) click to toggle source
# File lib/tchae/core.rb, line 167
def expect(constraint = nil, &proc)
  @valtor = if block_given?
              raise(ArgumentError, 'The Result.expect method accepts either a block or an argument but not both') if constraint

              Tchae(proc)
            else
              Tchae(constraint)
            end
  @wrapper
end
return_wrapper(result) click to toggle source
# File lib/tchae/core.rb, line 184
def return_wrapper(result)
  return Return(result) unless @valtor

  @valtor.wrapped_result_or_error(result, ::Tchae::ReturnTypeError)
end
valid_or_raise_exception(result) click to toggle source
# File lib/tchae/core.rb, line 178
def valid_or_raise_exception(result)
  return result unless @valtor

  @valtor.valid_or_raise_exception(result, ::Tchae::ReturnTypeException)
end
valid_or_return_error(result) click to toggle source
# File lib/tchae/core.rb, line 190
def valid_or_return_error(result)
  return result unless @valtor
  @valtor.valid_or_return_error(result, ::Tchae::ReturnTypeError)
end