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