Existem duas soluções gerais em que posso pensar para este problema. Em geral, quero dizer que eles funcionam em arquivos e modelos de manifesto em vez de apenas modelos.
A solução que eu recomendo é usar a função downcase()
parser no módulo da biblioteca padrão . Eu recomendo isso porque você não precisa escrever nenhum código Ruby e é mais fácil de ler:
class helloworld {
$os_downcase = downcase($osfamily)
}
include helloworld
Se você não quer depender do módulo stdlib
, então você pode usar a função inline_template
para generalizar a solução mencionada por Shane:
class helloworld {
$os_downcase = inline_template('<%= osfamily.downcase %>')
}
include helloworld
inline_template
evita a necessidade de criar um arquivo *.erb
separado.
Espero que isso ajude.
-Jeff