Какая разница между Eruby и Erb? Какие соображения побудили бы меня выбрать один или другой?
Мое приложение генерирует файлы конфигурации для сетевых устройств (маршрутизаторы, балансировщики нагрузки, брандмауэры и т. Д.). Мой план состоит в том, чтобы шаблонировать файлы конфигурации, используя встроенный ruby (через eruby или erb) в исходных файлах, чтобы выполнять такие вещи, как итеративная генерация всех блоков конфигурации интерфейса для маршрутизатора (все эти блоки очень похожи, различаясь только меткой и IP-адрес). Например, у меня может быть файл шаблона конфигурации, подобный этому:
hostname sample-router
<%=
r = String.new;
[
["GigabitEthernet1/1", "10.5.16.1"],
["GigabitEthernet1/2", "10.5.17.1"],
["GigabitEthernet1/3", "10.5.18.1"]
].each { |tuple|
r << "interface #{tuple[0]}\n"
r << " ip address #{tuple[1]} netmask 255.255.255.0\n"
}
r.chomp
%>
logging 10.5.16.26
, который при запуске через встроенный интерпретатор ruby (erb или eruby) выдает следующий вывод:
hostname sample-router
interface GigabitEthernet1/1
ip address 10.5.16.1 netmask 255.255.255.0
interface GigabitEthernet1/2
ip address 10.5.17.1 netmask 255.255.255.0
interface GigabitEthernet1/3
ip address 10.5.18.1 netmask 255.255.255.0
logging 10.5.16.26