Module: ActionView::Helpers::DebugHelper

Defined in:
lib/action_view/helpers/debug_helper.rb

Overview

Provides a set of methods for making it easier to debug Rails objects.

Instance Method Summary collapse

Instance Method Details

#debug(object) ⇒ Object

Returns a

-tag that has <code>object</code> dumped by YAML. This creates a very
readable way to inspect an object.</p>
<h4 id="Example">Example</h4>
<p>my_hash = {'first' => 1, 'second' => 'two', 'third' => [1,2,3]}
debug(my_hash)</p>
<p>=> <pre class='debug_dump'>---
first: 1
second: two
third:</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
 


20
21
22
23
24
25
26
27
28
# File 'lib/action_view/helpers/debug_helper.rb', line 20

def debug(object)
  begin
    Marshal::dump(object)
    "<pre class='debug_dump'>#{h(object.to_yaml).gsub("  ", "&nbsp; ")}</pre>"
  rescue Exception => e  # 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>"
  end
end