class Operators::EitherService
Public Class Methods
call(*args)
click to toggle source
# File lib/operators/either_service.rb, line 17 def self.call(*args) new(*args).call end
rescue_callbacks(*exceptions)
click to toggle source
# File lib/operators/either_service.rb, line 5 def self.rescue_callbacks(*exceptions) define_method :call do begin calling rescue *exceptions => error failure(error.message) end end end
Public Instance Methods
failure(result = nil)
click to toggle source
# File lib/operators/either_service.rb, line 25 def failure(result = nil) Dry::Monads.Left(error_wrap(result)) end
success(result = nil)
click to toggle source
# File lib/operators/either_service.rb, line 21 def success(result = nil) Dry::Monads.Right(success_wrap(result)) end
Private Instance Methods
calling()
click to toggle source
# File lib/operators/either_service.rb, line 39 def calling raise 'Must be redefined' end
error_wrap(result)
click to toggle source
# File lib/operators/either_service.rb, line 31 def error_wrap(result) result end
success_wrap(result)
click to toggle source
# File lib/operators/either_service.rb, line 35 def success_wrap(result) result end