From e7ff4c6f065acbd1b3ea71f97aa87cb7035cdb82 Mon Sep 17 00:00:00 2001 From: Nathan Broadbent Date: Sat, 27 Aug 2011 13:01:09 +0800 Subject: [PATCH] Further changes for github issue #56: Issue tracker templates were forgotten when fixing the backtrace 'missing files' problem. I added the '[unknown file]' check to the sanitize method on notices, which runs from a before_save filter. Also, doesn't hurt to ensure that line['file'] is a string. --- app/models/notice.rb | 2 ++ app/views/issue_trackers/fogbugz_body.txt.erb | 2 +- app/views/issue_trackers/github_issues_body.txt.erb | 2 +- app/views/issue_trackers/lighthouseapp_body.txt.erb | 3 ++- app/views/issue_trackers/pivotal_body.txt.erb | 3 ++- app/views/issue_trackers/textile_body.txt.erb | 2 +- app/views/notices/_backtrace.html.haml | 3 +-- 7 files changed, 10 insertions(+), 7 deletions(-) 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