Sha256: c16e70d87201a378e51afaea0b7f2b54c540f13d6718c03da52838960999c75c
Contents?: true
Size: 1.71 KB
Versions: 13
Compression:
Stored size: 1.71 KB
Contents
Rollbar.plugins.define('goalie') do dependency { !configuration.disable_monkey_patch } dependency { defined?(Goalie) } execute do module Rollbar module Goalie def render_exception_with_rollbar(env, exception) exception_data = nil begin controller = env['action_controller.instance'] request_data = controller.rollbar_request_data rescue nil person_data = controller.rollbar_person_data rescue nil exception_data = Rollbar.scope(:request => request_data, :person => person_data).error(exception, :use_exception_level_filters => true) rescue => e Rollbar.log_warning "[Rollbar] Exception while reporting exception to Rollbar: #{e}" end # if an exception was reported, save uuid in the env # so it can be displayed to the user on the error page if exception_data.is_a?(Hash) env['rollbar.exception_uuid'] = exception_data[:uuid] Rollbar.log_info "[Rollbar] Exception uuid saved in env: #{exception_data[:uuid]}" elsif exception_data == 'disabled' Rollbar.log_info "[Rollbar] Exception not reported because Rollbar is disabled" elsif exception_data == 'ignored' Rollbar.log_info "[Rollbar] Exception not reported because it was ignored" end # now continue as normal render_exception_without_rollbar(env, exception) end end end end execute do Goalie::CustomErrorPages.class_eval do include Rollbar::Goalie alias_method :render_exception_without_rollbar, :render_exception alias_method :render_exception, :render_exception_with_rollbar end end end
Version data entries
13 entries across 13 versions & 1 rubygems