Вы можете заменить это
if ( box.hasClass('collapsed') ){
box.removeClass('collapsed');
}else{
box.addClass('collapsed');
}
на
box.classList.toggle('collapsed')
This page from Ruby Toolbox includes a chart of the relative popularity of various parsers.
Существует scRUBYt!, Rubyful-суп (больше сохраняемый), WWW:: Механизируйте, scrAPI и еще много.
Или Вы могли просто использовать Hpricot или Nokogiri для парсинга.
Nokogiri является другим синтаксическим анализатором HTML/XML. Это быстрее, чем hpricot согласно этим сравнительным тестам. Nokogiri использует libxml2 и является понижением замены для hpricot. Это также имеет css3 селекторную поддержку, которая довольно хороша.
Править: Существует новый сравнительный тест, выдерживающий сравнение nokogiri, libxml-рубин, hpricot и rexml здесь.
Панель инструментов Ruby имеет категорию на синтаксических анализаторах HTML здесь.