Библиотека для разбора файлов ERB
Я пытаюсь анализировать, а не оценивать рельсы ERB-файлов способом Hpricot / Nokogiri. Файлы, которые я пытаюсь проанализировать, содержат фрагменты HTML, смешанные с динамическим контентом, сгенерированным с помощью ERB (стандартные файлы просмотра рельсов). Я ищу библиотеку, которая будет не только анализировать окружающий контент, во многом так же, как Hpricot или Nokogiri, но и будет обрабатывать символы ERB, <%, <% = и т. д., как если бы они были тегами html / xml.
В идеале я хотел бы получить DOM-подобную структуру, в которой символы <%, <% = и т. Д. Были бы включены в качестве собственных типов узлов.
Я знаю, что можно взломать что-то вместе с помощью регулярных выражений, но я искал что-то более надежное, так как я разрабатываю инструмент, который мне нужен для работы с очень большой базой кода представления, где и контент html, и контент erb важные.
Например, контент, такой как:
blah blah blah <div>My Great Text <%= my_dynamic_expression %></div>
Вернул бы древовидную структуру как:
root - text_node (blah blah blah) - element (div) - text_node (My Great Text ) - erb_node (<%=)