class SoftRescue::ExceptionHandler
handles exceptions according to Config
settings
Public Class Methods
new(exception, on_failure, message)
click to toggle source
# File lib/soft_rescue.rb, line 33 def initialize(exception, on_failure, message) @exception = exception @on_failure = on_failure @message = message end
Public Instance Methods
handle()
click to toggle source
# File lib/soft_rescue.rb, line 39 def handle raise @exception unless Config.enabled raise_alternative end
Private Instance Methods
capture_exception()
click to toggle source
# File lib/soft_rescue.rb, line 59 def capture_exception capturer = Config.capture_exception return unless capturer capturer.call @exception end
handle_failure()
click to toggle source
# File lib/soft_rescue.rb, line 65 def handle_failure @on_failure.is_a?(Proc) ? @on_failure.call : @on_failure end
log()
click to toggle source
# File lib/soft_rescue.rb, line 52 def log logger = Config.logger return unless logger logger.error [@message, @exception.message].compact.join('. ') end
raise_alternative()
click to toggle source
# File lib/soft_rescue.rb, line 46 def raise_alternative log capture_exception handle_failure end