module ActionView module Helpers # Provides a set of methods for making it easier to debug Rails objects. module DebugHelper # Returns a
-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)
      #
      #  => 
--- 
      #  first: 1
      #  second: two
      #  third: 
      #  - 1
      #  - 2
      #  - 3
      #  
def debug(object) begin Marshal::dump(object) "
#{h(object.to_yaml).gsub("  ", "  ")}
" rescue Exception => e # errors from Marshal or YAML # Object couldn't be dumped, perhaps because of singleton methods -- this is the fallback "#{h(object.inspect)}" end end end end end