Module: Fear::Try::Mixin

Included in:
Mixin
Defined in:
lib/fear/try.rb

Overview

Include this mixin to access convenient factory methods.

Examples:

include Fear::Try::Mixin

Try { 4/2 } #=> #<Fear::Success value=2>
Try { 4/0 } #=> #<Fear::Failure value=#<ZeroDivisionError: divided by 0>>
Success(2)  #=> #<Fear::Success value=2>

Instance Method Summary collapse

Instance Method Details

#Failure(exception) ⇒ Failure

Parameters:

  • exception (StandardError)

Returns:



290
291
292
# File 'lib/fear/try.rb', line 290

def Failure(exception)
  Failure.new(exception)
end

#Success(value) ⇒ Success

Parameters:

  • value (any)

Returns:



297
298
299
# File 'lib/fear/try.rb', line 297

def Success(value)
  Success.new(value)
end

#TryTry

Constructs a Try using the block. This method will ensure any non-fatal exception )is caught and a Failure object is returned.

Returns:



281
282
283
284
285
# File 'lib/fear/try.rb', line 281

def Try
  Success.new(yield)
rescue StandardError => error
  Failure.new(error)
end