diff options
author | Boris Kuznetsov <achempion@gmail.com> | 2014-01-30 18:33:49 +0400 |
---|---|---|
committer | Boris Kuznetsov <achempion@gmail.com> | 2014-03-27 00:36:59 +0400 |
commit | 6af07c27ae65dfaf0d42a2741544915459efe67a (patch) | |
tree | b4abd71302226ec54606caa19aba2f92455674db /actionpack/lib/action_dispatch | |
parent | 9ed0cf51b467907810ef3959c8e9cdf77370370e (diff) | |
download | rails-6af07c27ae65dfaf0d42a2741544915459efe67a.tar.gz rails-6af07c27ae65dfaf0d42a2741544915459efe67a.tar.bz2 rails-6af07c27ae65dfaf0d42a2741544915459efe67a.zip |
Append link to bad code to backtrace when exception is SyntaxError
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/exception_wrapper.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb b/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb index 377f05c982..2326bb043a 100644 --- a/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb +++ b/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb @@ -32,6 +32,8 @@ module ActionDispatch def initialize(env, exception) @env = env @exception = original_exception(exception) + + expand_backtrace if exception.is_a?(SyntaxError) || exception.try(:original_exception).try(:is_a?, SyntaxError) end def rescue_template @@ -104,5 +106,11 @@ module ActionDispatch end end end + + def expand_backtrace + @exception.backtrace.unshift( + @exception.to_s.split("\n") + ).flatten! + end end end |