Sha256: 42991146afd9acdb3c9e07a539df62e0fb5328870eef284d6de21960c04ee36a
Contents?: true
Size: 811 Bytes
Versions: 31
Compression:
Stored size: 811 Bytes
Contents
# frozen_string_literal: true module AnyCable module ExceptionsHandling # :nodoc: class << self def add_handler(block) handlers << procify(block) end alias_method :<<, :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
31 entries across 31 versions & 2 rubygems