aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorAndrew White <pixeltrix@users.noreply.github.com>2015-02-01 16:56:40 +0000
committerAndrew White <pixeltrix@users.noreply.github.com>2015-02-01 16:56:40 +0000
commitbf1716bc61938e56e96181ffecb94920e3bbb3b3 (patch)
treeac317cb57ea97d0812b4ac94b917899734b49399 /actionpack/lib
parentaa8ade5811db1873a6091f3aa6282e77d22d9d3e (diff)
parent872e22c60391dc45b7551cc0698d5530bb310611 (diff)
downloadrails-bf1716bc61938e56e96181ffecb94920e3bbb3b3.tar.gz
rails-bf1716bc61938e56e96181ffecb94920e3bbb3b3.tar.bz2
rails-bf1716bc61938e56e96181ffecb94920e3bbb3b3.zip
Merge pull request #18769 from gsamokovarov/exception-wrapper-windows-paths
Show proper traces on Windows for the error pages
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_dispatch/middleware/exception_wrapper.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb b/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb
index a4862e33aa..5595a73887 100644
--- a/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb
+++ b/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb
@@ -87,8 +87,7 @@ module ActionDispatch
def source_extracts
backtrace.map do |trace|
- file, line = trace.split(":")
- line_number = line.to_i
+ file, line_number = extract_file_and_line_number(trace)
{
code: source_fragment(file, line_number),
@@ -139,6 +138,13 @@ module ActionDispatch
end
end
+ def extract_file_and_line_number(trace)
+ # Split by the first colon followed by some digits, which works for both
+ # Windows and Unix path styles.
+ file, line = trace.match(/^(.+?):(\d+).*$/, &:captures) || trace
+ [file, line.to_i]
+ end
+
def expand_backtrace
@exception.backtrace.unshift(
@exception.to_s.split("\n")