Qual è l'approccio raccomandato per l'utilizzo di un attributo in una risorsa, come un modello, quando non esiste un valore predefinito ragionevole per quell'attributo. Il valore dell'attributo dovrebbe essere fornito in fase di esecuzione. In caso contrario, l'esecuzione della ricetta dello chef dovrebbe essere errata.
Il modo in cui ho le cose ora il valore dell'attributo quando applicato al modello è stringa vuota.
/recipes/default.rb
template "/var/tmp/my_script.sh" do
source "my_script.erb"
mode "0755"
variables({
:url => node['environment']['url']
})
end
/templates/default/my_script.erb
#!/bin/bash
echo "The url is: <%= @url %>"
Il file /var/tmp/my_script.sh risultante sarebbe simile al seguente:
#!/bin/bash
echo "The url is: "
Ma vorrei che si limitasse a fuoriuscire. Qualche consiglio?