como posso chamar ruby function basename no fantoche

5

Gostaria de chamar a função File.basename , disponível em Ruby. É possível no fantoche?

Algo como:

$filename = basename($download_url)
    
por Tombart 10.03.2013 / 15:31

3 respostas

10

As funções do Ruby não estão diretamente disponíveis no Puppet, mas você pode usar o inline_template:

$filename = inline_template('<%= File.basename(download_url) %>')
    
por 10.03.2013 / 16:41
1

Enquanto isso, é possível usar o puppetlabs-stdlib que fornece uma função basename() .

Returns the basename of a path (optionally stripping an extension).

basename('/path/to/a/file.ext') returns 'file.ext'
basename('relative/path/file.ext') returns 'file.ext'
basename('/path/to/a/file.ext', '.ext') returns 'file'
    
por 26.09.2016 / 22:04
0

Não, você não pode chamar funções arbitrárias do Ruby em um manifesto Puppet, mas pode fazê-lo em modelos Puppet que usam o ERB. Dê uma olhada na inline_template function , que pode ser útil para seu caso de uso. / p>     

por 10.03.2013 / 16:43