Sha256: 79b0e793f92e979066d18d17e27546e8ae709c99c3e04d4fd93fb4c39d7943e3
Contents?: true
Size: 1.12 KB
Versions: 25
Compression:
Stored size: 1.12 KB
Contents
require 'honeybadger/plugin' require 'honeybadger/backtrace' module Honeybadger module Plugins module LocalVariables module ExceptionExtension def self.included(base) base.send(:alias_method, :set_backtrace_without_honeybadger, :set_backtrace) base.send(:alias_method, :set_backtrace, :set_backtrace_with_honeybadger) end def set_backtrace_with_honeybadger(*args, &block) if caller.none? { |loc| loc.match(::Honeybadger::Backtrace::Line::INPUT_FORMAT) && Regexp.last_match(1) == __FILE__ } @__honeybadger_bindings_stack = binding.callers.drop(1) end set_backtrace_without_honeybadger(*args, &block) end def __honeybadger_bindings_stack @__honeybadger_bindings_stack || [] end end Plugin.register do requirement { config[:'exceptions.local_variables'] } requirement { defined?(::BindingOfCaller) } requirement { !::Exception.included_modules.include?(ExceptionExtension) } execution { ::Exception.send(:include, ExceptionExtension) } end end end end
Version data entries
25 entries across 25 versions & 1 rubygems