Sha256: 8bda04fe9a5a20a9244b83db30aa22d80dfd5b4dde5a79c5a9b7d48a213b3a1c
Contents?: true
Size: 801 Bytes
Versions: 6
Compression:
Stored size: 801 Bytes
Contents
# frozen_string_literal: true module AnyCable module ExceptionsHandling # :nodoc: class << self def add_handler(block) handlers << procify(block) end alias << add_handler def notify(exp, method_name, message) handlers.each do |handler| handler.call(exp, method_name, message) rescue => exp AnyCable.logger.error "!!! EXCEPTION HANDLER THREW AN ERROR !!!" AnyCable.logger.error exp AnyCable.logger.error exp.backtrace.join("\n") unless exp.backtrace.nil? end end private def procify(block) return block unless block.lambda? proc { |*args| block.call(*args.take(block.arity)) } end def handlers @handlers ||= [] end end end end
Version data entries
6 entries across 6 versions & 1 rubygems