Modelos de marionetes e variáveis indefinidas / nulas

3

Muitas vezes, desejo incluir valores padrão em modelos de marionetes. Eu estava esperando que, dada uma aula como esta:

class myclass ($a_variable=undef) {
  file { '/tmp/myfile':
    content => template('myclass/myfile.erb'),
  }
}

Eu poderia criar um modelo assim:

a_variable = <%= a_variable || "a default value" %>

Infelizmente, undef no Puppet não se traduz para um valor de nil do Ruby no contexto do modelo, então isso não funciona de verdade. Qual é a maneira canônica de manipular valores padrão em modelos de marionetes?

Eu posso definir o valor padrão para uma string vazia e, em seguida, usar o empty? test ...

a variable = <%= a_variable.empty? ? "a default value" : a_variable %>

... mas isso parece um pouco desajeitado.

    
por larsks 10.04.2012 / 19:14

1 resposta

2

Você não pode simplesmente definir um padrão na definição da classe?

class myclass ($a_variable = "a default value") {
    
por 10.04.2012 / 19:54