Skip to content

Commit

Permalink
Use content_tag here instead of manually building HTML
Browse files Browse the repository at this point in the history
  • Loading branch information
spastorino committed Aug 3, 2012
1 parent 572ecae commit 8f8d8eb
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions actionpack/lib/action_view/helpers/debug_helper.rb
Expand Up @@ -4,6 +4,9 @@ module ActionView
# Provides a set of methods for making it easier to debug Rails objects.
module Helpers
module DebugHelper

include TagHelper

# Returns a YAML representation of +object+ wrapped with <pre> and </pre>.
# If the object cannot be converted to YAML using +to_yaml+, +inspect+ will be called instead.
# Useful for inspecting an object at the time of rendering.
Expand All @@ -26,10 +29,11 @@ module DebugHelper
def debug(object)
begin
Marshal::dump(object)
"<pre class='debug_dump'>#{h(object.to_yaml).gsub(" ", "&nbsp; ")}</pre>".html_safe
object = ERB::Util.html_escape(object.to_yaml).gsub(" ", "&nbsp; ").html_safe
content_tag(:pre, object, :class => "debug_dump")
rescue Exception # errors from Marshal or YAML
# Object couldn't be dumped, perhaps because of singleton methods -- this is the fallback
"<code class='debug_dump'>#{h(object.inspect)}</code>".html_safe
content_tag(:code, object.to_yaml, :class => "debug_dump")
end
end
end
Expand Down

0 comments on commit 8f8d8eb

Please sign in to comment.