объект дампа ruby ​​в строку в формате html

Существует ли рубиновый эквивалент тега cfdump ColdFusions.

который может вывести любой объект в виде вывода в формате html.

Я хочу использовать это, чтобы иметь возможность сбрасывать любой объект в HTML-тело электронной почты.

Я знаю, что есть Pretty Print и другие драгоценные камни, которые выводят на консоль хорошо отформатированные строки с цветовой кодировкой, но я хочу иметь возможность генерировать строку html, выводя весь тип данных, который мне нужен.


person theog    schedule 12.07.2012    source источник


Ответы (3)


Существует CodeRay раскрашиватель.

CodeRay.scan("5.times do\n  puts 'Hello, world!'\nend", :ruby).
        div(:line_numbers => :table)

Я использую его для выделения фрагментов JSON в своей вики, поэтому, если вы печатаете объекты в JSON, а затем передаете их через coderay, это, безусловно, сработает.

person Sergio Tulentsev    schedule 12.07.2012
comment
Спасибо именно то, что я был после. - person theog; 12.07.2012

Проект rails-cfdump заброшен, но похоже, что его вывод очень похож на CF <cfdump>/WriteDump().

person Chris Peters    schedule 10.08.2012

Разработанный мной гем dom позволяет писать HTML-строку из кода Ruby. Используя его, вы можете делать такие вещи, как:

require "dom"
["foo".dom(:span, class: "bold"), "bar"].dom(:div).dom(:body).dom(:html)
# => "<html><body><div><span class=\"bold\">foo</span>bar</div></body></html>"
person sawa    schedule 05.05.2016
comment
Этот восходящий подход... необычен. Как вы считаете, насколько хорошо это работает на практике? Никогда не видел ни одного в дикой природе. - person Sergio Tulentsev; 16.03.2019