对于不熟悉Ruby的木偶用户,是否有Ruby / ERB备忘单?

我仍然正在处理木偶,开始混淆基于Ruby的ERB系统的模板。 我一般不熟悉Ruby,有没有人知道ERB的备忘单,还是需要弄脏我的手,学习一些Ruby的基础知识?

后来我的情况完全一样。 基本上,对于木偶使用的erb模板,你不需要太多的Ruby知识。 但是,这也取决于你的傀儡模块的复杂性和目的。

例如,如果您主要将它们用于服务器pipe理的configuration文件,那么大多数情况下您将需要操纵IP地址和主机名。 而你遇到的最常用的Rubyfunction是splitjoin

这些和其他function的最简单的方法是安装ruby及其交互式shell,irb并testing你的代码。 所以…一张备忘单,我不知道。 我在堆栈溢出和IRC上的#ruby的人窃听过! 我有一堆模板在这里https://github.com/alcy/pupmods/tree/master/puppet/templates/ (糟糕的组织!),这可能会帮助你。

关于case语句查询,你可以有这样的(可能的方法之一):

 $ip1=inline_template('<%= ipaddress.split(".")[0..2].collect{|x| x}.join(".") %>') $source = $ip1 ? { "10.0.0" => "puppet:///your-module-name/resolv.conf.1", "10.0.1" => "puppet:///your-module-name/resolv.conf.2", } file {"/etc/resolv.conf": ensure => present, source => $source, } 

它的模板部分是这样解释的:在DOT“。”的每次出现处分割从facter获得的客户端机器的IP地址,收集前三个数字,并在每个元素之间用DOT连接它们。 将其存储为variablesip1 。 根据这个值,从puppet的文件服务器提供必要的resolv.conf文件。