Возможно, вы захотите взглянуть на dom gem , который я разработал. Используя его, вы можете делать такие вещи, как:
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>"