class CronoTrigger::GlobalExceptionHandler
Public Class Methods
handle_global_exception(ex)
click to toggle source
# File lib/crono_trigger/global_exception_handler.rb, line 3 def self.handle_global_exception(ex) new.handle_global_exception(ex) end
Public Instance Methods
handle_global_exception(ex)
click to toggle source
# File lib/crono_trigger/global_exception_handler.rb, line 7 def handle_global_exception(ex) handlers = CronoTrigger.config.global_error_handlers handlers.each do |callable| callable, arity = ensure_callable(callable) args = [ex] args = arity < 0 ? args : args.take(arity) callable.call(*args) end rescue Exception => e ActiveRecord::Base.logger.error("CronoTrigger error handler raises error") ActiveRecord::Base.logger.error(e) end
Private Instance Methods
ensure_callable(callable)
click to toggle source
# File lib/crono_trigger/global_exception_handler.rb, line 23 def ensure_callable(callable) if callable.respond_to?(:call) return callable, callable.arity end end