Sha256: 3fa899c37db79a6d147606f98d6c54bcece40f86aee8532106015c93a10c8578
Contents?: true
Size: 1.31 KB
Versions: 47
Compression:
Stored size: 1.31 KB
Contents
module Rollbar module Middleware module Rails module ShowExceptions include ExceptionReporter def render_exception_with_rollbar(env, exception) key = 'action_dispatch.show_detailed_exceptions' if exception.is_a?(ActionController::RoutingError) && env[key] scope = extract_scope_from(env) Rollbar.scoped(scope) do report_exception_to_rollbar(env, exception) end end render_exception_without_rollbar(env, exception) end def call_with_rollbar(env) call_without_rollbar(env) rescue ActionController::RoutingError => exception # won't reach here if show_detailed_exceptions is true scope = extract_scope_from(env) Rollbar.scoped(scope) do report_exception_to_rollbar(env, exception) end raise exception end def extract_scope_from(env) scope = env['rollbar.scope'] Rollbar.log_warn('[Rollbar] rollbar.scope key has been removed from Rack env.') unless scope scope || {} end def self.included(base) base.send(:alias_method_chain, :call, :rollbar) base.send(:alias_method_chain, :render_exception, :rollbar) end end end end end
Version data entries
47 entries across 47 versions & 1 rubygems