diff --git a/lib/rack/bug/filtered_backtrace.rb b/lib/rack/bug/filtered_backtrace.rb index 310c290..5481d33 100644 --- a/lib/rack/bug/filtered_backtrace.rb +++ b/lib/rack/bug/filtered_backtrace.rb @@ -19,7 +19,7 @@ def filtered_backtrace def root_for_backtrace_filtering(sub_path = nil) if defined?(Rails) && Rails.respond_to?(:root) - sub_path ? Rails.root.join(sub_path) : Rails.root + (sub_path ? Rails.root.join(sub_path) : Rails.root).to_s else root = if defined?(RAILS_ROOT) RAILS_ROOT diff --git a/lib/rack/bug/panels/templates_panel.rb b/lib/rack/bug/panels/templates_panel.rb index a971886..9f874c3 100644 --- a/lib/rack/bug/panels/templates_panel.rb +++ b/lib/rack/bug/panels/templates_panel.rb @@ -7,12 +7,15 @@ class TemplatesPanel < Panel autoload :Trace, "rack/bug/panels/templates_panel/trace" autoload :Rendering, "rack/bug/panels/templates_panel/rendering" - def self.record(template, &block) - return block.call unless Rack::Bug.enabled? + def self.record(template) + return yield unless Rack::Bug.enabled? template_trace.start(template) - result = block.call - template_trace.finished(template) + begin + result = yield + ensure + template_trace.finished(template) + end return result end diff --git a/lib/rack/bug/render.rb b/lib/rack/bug/render.rb index c15df14..dd80a40 100644 --- a/lib/rack/bug/render.rb +++ b/lib/rack/bug/render.rb @@ -1,3 +1,4 @@ +# encoding: utf-8 require "erb" module Rack diff --git a/lib/rack/bug/views/panels/execute_sql.html.erb b/lib/rack/bug/views/panels/execute_sql.html.erb index e5a6457..d62a26f 100644 --- a/lib/rack/bug/views/panels/execute_sql.html.erb +++ b/lib/rack/bug/views/panels/execute_sql.html.erb @@ -13,8 +13,14 @@ - <% result.fetch_fields.each do |field| %> - + <% if defined?(Mysql2) %> + <% result.fields.each do |field| %> + + <% end %> + <% else %> + <% result.fetch_fields.each do |field| %> + + <% end %> <% end %> diff --git a/lib/rack/bug/views/panels/explain_sql.html.erb b/lib/rack/bug/views/panels/explain_sql.html.erb index 27243e7..50e3f69 100644 --- a/lib/rack/bug/views/panels/explain_sql.html.erb +++ b/lib/rack/bug/views/panels/explain_sql.html.erb @@ -13,10 +13,16 @@
<%= field.name.upcase %><%= field.upcase %><%= field.name.upcase %>
- <% result.fetch_fields.each do |field| %> - + <% if defined?(Mysql2) %> + <% result.fields.each do |field| %> + + <% end %> + <% else %> + <% result.fetch_fields.each do |field| %> + + <% end %> <% end %> - + <% i = 1 %> diff --git a/lib/rack/bug/views/panels/profile_sql.html.erb b/lib/rack/bug/views/panels/profile_sql.html.erb index add3e58..1a5bd82 100644 --- a/lib/rack/bug/views/panels/profile_sql.html.erb +++ b/lib/rack/bug/views/panels/profile_sql.html.erb @@ -13,8 +13,14 @@
<%= field.name.upcase %><%= field.upcase %><%= field.name.upcase %>
- <% result.fetch_fields.each do |field| %> - + <% if defined?(Mysql2) %> + <% result.fields.each do |field| %> + + <% end %> + <% else %> + <% result.fetch_fields.each do |field| %> + + <% end %> <% end %>
<%= field.name.upcase %><%= field.upcase %><%= field.name.upcase %>