Sha256: 830bbebc2dcbbbf8ff87a5dd7d16301715b75b75f5f2a7a59b13c0c9c3ebc307
Contents?: true
Size: 1.98 KB
Versions: 24
Compression:
Stored size: 1.98 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 = begin controller.rollbar_request_data rescue StandardError nil end person_data = begin controller.rollbar_person_data rescue StandardError nil end exception_data = Rollbar.scope(:request => request_data, :person => person_data).error(exception, :use_exception_level_filters => true) rescue StandardError => 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
24 entries across 24 versions & 1 rubygems