Skip to content

Commit 1eb3582

Browse files
committed
Fixes rails#25219
Add handling of cleaning up backtrace from IRB console in case of errors
1 parent 173bf35 commit 1eb3582

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

railties/lib/rails/backtrace_cleaner.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module Rails
44
class BacktraceCleaner < ActiveSupport::BacktraceCleaner
5-
APP_DIRS_PATTERN = /^\/?(app|config|lib|test)/
5+
APP_DIRS_PATTERN = /^\/?(app|config|lib|test|\(\w*\))/
66
RENDER_TEMPLATE_PATTERN = /:in `_render_template_\w*'/
77
EMPTY_STRING = ''.freeze
88
SLASH = '/'.freeze

railties/lib/rails/commands/console.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ module Rails
77
class Console
88
include ConsoleHelper
99

10+
module BacktraceCleaner
11+
def filter_backtrace(bt)
12+
if result = super
13+
Rails.backtrace_cleaner.filter([result]).first
14+
end
15+
end
16+
end
17+
1018
class << self
1119
def parse_arguments(arguments)
1220
options = {}
@@ -34,6 +42,10 @@ def initialize(app, options={})
3442
app.load_console
3543

3644
@console = app.config.console || IRB
45+
46+
if @console == IRB
47+
IRB::WorkSpace.prepend(BacktraceCleaner)
48+
end
3749
end
3850

3951
def sandbox?

0 commit comments

Comments
 (0)