diff options
author | Doug Alcorn <dougalcorn@gmail.com> | 2010-03-27 12:47:39 -0400 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-04-10 14:06:10 +0200 |
commit | dc974306301809f4e184f518261f5baae2c909eb (patch) | |
tree | 7ff4501595b198635dd450567dc462a5f4b5b2ba | |
parent | f46dc9b6b706d8fbbb37d9d6374e671a633bff9f (diff) | |
download | rails-dc974306301809f4e184f518261f5baae2c909eb.tar.gz rails-dc974306301809f4e184f518261f5baae2c909eb.tar.bz2 rails-dc974306301809f4e184f518261f5baae2c909eb.zip |
ActiveSupport::BacktraceCleaner#remove_filters! allows for completely untouched backtrace [#4079 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
-rw-r--r-- | activesupport/lib/active_support/backtrace_cleaner.rb | 8 | ||||
-rw-r--r-- | activesupport/test/clean_backtrace_test.rb | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/backtrace_cleaner.rb b/activesupport/lib/active_support/backtrace_cleaner.rb index 6fab565646..8465bc1e10 100644 --- a/activesupport/lib/active_support/backtrace_cleaner.rb +++ b/activesupport/lib/active_support/backtrace_cleaner.rb @@ -4,7 +4,9 @@ module ActiveSupport # context, so only the relevant lines are included. # # If you need to reconfigure an existing BacktraceCleaner, like the one in Rails, to show as much as possible, you can always - # call BacktraceCleaner#remove_silencers! + # call BacktraceCleaner#remove_silencers! Also, if you need to reconfigure an existing BacktraceCleaner so that it does not + # filter or modify the paths of any lines of the backtrace, you can call BacktraceCleaner#remove_filters! These two methods + # will give you a completely untouched backtrace. # # Example: # @@ -60,6 +62,10 @@ module ActiveSupport @silencers = [] end + def remove_filters! + @filters = [] + end + private def filter(backtrace) @filters.each do |f| diff --git a/activesupport/test/clean_backtrace_test.rb b/activesupport/test/clean_backtrace_test.rb index ddbc258df1..86838a7f9a 100644 --- a/activesupport/test/clean_backtrace_test.rb +++ b/activesupport/test/clean_backtrace_test.rb @@ -9,6 +9,11 @@ class BacktraceCleanerFilterTest < ActiveSupport::TestCase test "backtrace should not contain prefix when it has been filtered out" do assert_equal "/my/class.rb", @bc.clean([ "/my/prefix/my/class.rb" ]).first end + + test "backtrace cleaner should allow removing filters" do + @bc.remove_filters! + assert_equal "/my/prefix/my/class.rb", @bc.clean(["/my/prefix/my/class.rb"]).first + end test "backtrace should contain unaltered lines if they dont match a filter" do assert_equal "/my/other_prefix/my/class.rb", @bc.clean([ "/my/other_prefix/my/class.rb" ]).first @@ -44,4 +49,4 @@ class BacktraceCleanerFilterAndSilencerTest < ActiveSupport::TestCase test "backtrace should not silence lines that has first had their silence hook filtered out" do assert_equal [ "/class.rb" ], @bc.clean([ "/mongrel/class.rb" ]) end -end
\ No newline at end of file +end |