O negócio <%
e %>
faz parte do sistema de templates de Ruby também usado pelo Chef. A referência a validation_key
é uma variável local passada pelo código do modelo de bootstrap.
Um uso mais comum dos modelos do ERB no Chef é a criação de arquivos de configuração, por exemplo, do livro de receitas da comunidade do Apache:
templates/default/ports.conf.erb
<% @apache_listen_ports.each do |port| %>
Listen <%= port %>
<% end %>
Este recurso seria criado em uma receita em algum lugar:
recipes/default.rb
template "/etc/apache2/ports.conf" do
source "ports.conf.erb"
variables :apache_listen_ports => [80, 443]
end
Quando você está começando a parte importante é observar o uso de <%
para escrever código executado pelo ERB, versus <%=
, que retorna o resultado de uma expressão, geralmente apenas uma variável.