Equivalent to ColdFusion's CFDUMP tag in Ruby on Rails?

One of ColdFusion’s best features is it’s CFDUMP tag with awesome
visual representation of data, especially for objects, arrays, etc.
For PHP there is a class called dBug created by Kwaku Otchere
(http://dbug.ospinto.com). It is basically a port of cfdump to PHP
with an identical visual style.

So I was wondering … has anyone done this for Ruby on Rails? Or is
there anything similar?

-Kenric

Dont know of anything similar, but you could just:

require ‘yaml’

variable = {
“first”=> “1”,
“second” => nil,
“third”=> {
“inner third 1” => nil,
“inner third 2”=>“yeah”
},
“fourth” => nil
}

<%= variable.to_yaml %>

Not nearly as fancy though :slight_smile:

arg… You made me do it. It sucks, but it works for basic types.
You must use it with an Array or Hash otherwise you get no headers:

class Object
def to_html(value = self.to_s);
return “#{value}
end
end

class String
def to_html; super(self) end
end

class Symbol
def to_html; super(’:’ + self.to_s) end
end

class NilClass
def to_html; super(‘nil’) end
end

class Hash
def to_html
html = “


self.each_pair do |k, v|
html += “#{k.to_html}”
end
html += “
#{self.class}
#{v.to_html}

super(html)
end
end

class Array
def to_html
html = “


self.size.times do |index|
html += “#{index}”
end
html += “
#{self.class}
#{self[index]}

super(html)
end
end

variable = {
“first”=> “1”,
:a23 => “second”,
“third”=> {
nil => “inner third 1”,
“inner third 2”=>“yeah”
},
:values => [1, 2, 3, 4],
nil => “fourth”
}

Then you can do:

<%= variable.to_html %>

To get output that looks very similar to the dBug stuff for Php. I
used the styles that were at the link you provided, but I had to change
up the names to fit better:

table.RdBug_Array,table.RdBug_Object,table.RdBug_Hash,table.RdBug_String,table.RdBug_Symbol { font-family:Verdana, Arial, Helvetica, sans-serif; color:#000000; font-size:12px; } .RdBug_ArrayHeader, .RdBug_ObjectHeader, .RdBug_HashHeader, .RdBug_StringCHeader, .RdBug_SymbolHeader { font-weight:bold; color:#FFFFFF; } /* array */ table.RdBug_Array { background-color:#006600; } table.RdBug_Array td { background-color:#FFFFFF; } table.RdBug_Array td.RdBug_ArrayHeader { background-color:#009900; } table.RdBug_Array td.RdBug_ArrayKey { background-color:#CCFFCC; } /* resource */ table.RdBug_Hash { background-color:#006600; } table.RdBug_Hash td { background-color:#FFFFFF; } table.RdBug_Hash td.RdBug_HashHeader { background-color:#009900; } table.RdBug_Hash td.RdBug_HashKey { background-color:#CCFFCC; }

One of ColdFusion’s best features is it’s CFDUMP tag with awesome
visual representation of data, especially for objects, arrays, etc.
For PHP there is a class called dBug created by Kwaku Otchere
(http://dbug.ospinto.com). It is basically a port of cfdump to PHP
with an identical visual style.

So I was wondering … has anyone done this for Ruby on Rails? Or is
there anything similar?

<%=debug the_object_you_want_to_inspect %>

Also, ask Rails questions to the Rails list rather than here; you’ll get
better answers.

Cheers,
Dave