diff --git a/app/models/notice.rb b/app/models/notice.rb index 0d4b837..7e9dc8a 100644 --- a/app/models/notice.rb +++ b/app/models/notice.rb @@ -107,6 +107,8 @@ class Notice [:server_environment, :request, :notifier].each do |h| send("#{h}=",sanitize_hash(send(h))) end + # Set unknown backtrace files + backtrace.each{|line| line['file'] = "[unknown source]" if line['file'].blank? } end def sanitize_hash(h) diff --git a/app/views/issue_trackers/fogbugz_body.txt.erb b/app/views/issue_trackers/fogbugz_body.txt.erb index 38f0546..d85580d 100644 --- a/app/views/issue_trackers/fogbugz_body.txt.erb +++ b/app/views/issue_trackers/fogbugz_body.txt.erb @@ -20,7 +20,7 @@ Backtrace <% for line in notice.backtrace %> - <%= line['number'] %>: <%= line['file'].sub(/^\[PROJECT_ROOT\]/, '') %> + <%= line['number'] %>: <%= line['file'].to_s.sub(/^\[PROJECT_ROOT\]/, '') %> <% end %> Environment diff --git a/app/views/issue_trackers/github_issues_body.txt.erb b/app/views/issue_trackers/github_issues_body.txt.erb index 8b3297f..1887ca0 100644 --- a/app/views/issue_trackers/github_issues_body.txt.erb +++ b/app/views/issue_trackers/github_issues_body.txt.erb @@ -27,7 +27,7 @@ ## Backtrace ## ``` -<% for line in notice.backtrace %><%= line['number'] %>: <%= line['file'].sub(/^\[PROJECT_ROOT\]/, '') %> -> **<%= line['method'] %>** +<% for line in notice.backtrace %><%= line['number'] %>: <%= line['file'].to_s.sub(/^\[PROJECT_ROOT\]/, '') %> -> **<%= line['method'] %>** <% end %> ``` diff --git a/app/views/issue_trackers/lighthouseapp_body.txt.erb b/app/views/issue_trackers/lighthouseapp_body.txt.erb index 709d194..00bb9d8 100644 --- a/app/views/issue_trackers/lighthouseapp_body.txt.erb +++ b/app/views/issue_trackers/lighthouseapp_body.txt.erb @@ -23,7 +23,7 @@ ## Backtrace ## - <% for line in notice.backtrace %><%= line['number'] %>: <%= line['file'].sub(/^\[PROJECT_ROOT\]/, '') %> -> **<%= line['method'] %>** + <% for line in notice.backtrace %><%= line['number'] %>: <%= line['file'].to_s.sub(/^\[PROJECT_ROOT\]/, '') %> -> **<%= line['method'] %>** <% end %> @@ -32,3 +32,4 @@ <%= key %>: <%= val %> <% end %> <% end %> + diff --git a/app/views/issue_trackers/pivotal_body.txt.erb b/app/views/issue_trackers/pivotal_body.txt.erb index 7a5362d..ee46752 100644 --- a/app/views/issue_trackers/pivotal_body.txt.erb +++ b/app/views/issue_trackers/pivotal_body.txt.erb @@ -12,5 +12,6 @@ See this exception on Errbit: <%= app_err_url err.app, err %> <%= pretty_hash notice.session %> Backtrace: - <%= notice.backtrace[0..4].map { |line| "#{line['number']}: #{line['file'].sub(/^\[PROJECT_ROOT\]/, '')} -> *#{line['method']}*" }.join "\n" %> + <%= notice.backtrace[0..4].map { |line| "#{line['number']}: #{line['file'].to_s.sub(/^\[PROJECT_ROOT\]/, '')} -> *#{line['method']}*" }.join "\n" %> <% end %> + diff --git a/app/views/issue_trackers/textile_body.txt.erb b/app/views/issue_trackers/textile_body.txt.erb index 0f9ab56..99c590e 100644 --- a/app/views/issue_trackers/textile_body.txt.erb +++ b/app/views/issue_trackers/textile_body.txt.erb @@ -32,7 +32,7 @@ h2. Session h2. Backtrace | Line | File | Method | -<% for line in notice.backtrace %>| <%= line['number'] %> | <%= line['file'].sub(/^\[PROJECT_ROOT\]/, '') %> | *<%= line['method'] %>* | +<% for line in notice.backtrace %>| <%= line['number'] %> | <%= line['file'].to_s.sub(/^\[PROJECT_ROOT\]/, '') %> | *<%= line['method'] %>* | <% end %> h2. Environment diff --git a/app/views/notices/_backtrace.html.haml b/app/views/notices/_backtrace.html.haml index 82f689b..2f8662d 100644 --- a/app/views/notices/_backtrace.html.haml +++ b/app/views/notices/_backtrace.html.haml @@ -9,8 +9,7 @@ %td %ul.lines - lines.each do |line| - - line['file'] = "[unknown source]" if line['file'].blank? - - in_app = line['file'].gsub!('[PROJECT_ROOT]','') && !line['file'].match(/^\/vendor\//) + - in_app = line['file'].to_s.gsub!('[PROJECT_ROOT]','') && !line['file'].to_s.match(/^\/vendor\//) %li{:class => (in_app ? 'in-app' : nil)} = line['file'] → -- libgit2 0.21.2