Chef有许多资源/提供者/定义,每个都有可以设置的属性。例如,see这个和this。
通过检查几个定义,可以清除为特定的resource\provider\definition指定的属性打包到param变量指向的散列中。
我想知道是否有能力在不解压缩散列的情况下使用resource\provider\definition。以下是伪代码或我的意图:
attr = { :name => "/tmp/folder", :owner => "root", :group => "root", :mode => 0755, :action => :create }
directory attr
而不是像下面这样写:
directory "/tmp/folder" do
owner "root"
group "root"
mode 0755
action :create
end
有没有一种本土的方法可以达到相似的效果?
谢谢你,罗斯。
最佳答案
你可以试试下面的
attrs = { .. }
directory "/tmp/folder" do
attrs.each do |method_name, value|
send(method_name, value)
end
end
关于ruby发送的更多信息:http://apidock.com/ruby/Object/send