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:



250
251
252
# File 'lib/fear/try.rb', line 250

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

#Success(value) ⇒ Success

Parameters:

  • value (any)

Returns:



257
258
259
# File 'lib/fear/try.rb', line 257

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:



241
242
243
244
245
# File 'lib/fear/try.rb', line 241

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