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 <pre>-tag that has object dumped by YAML. This creates a very readable way to inspect an object.

Example

my_hash = {'first' => 1, 'second' => 'two', 'third' => [1,2,3]}
debug(my_hash)

=> <pre class='debug_dump'>--- 
first: 1
second: two
third: 
- 1
- 2
- 3
</pre>


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