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

09-04 18:41
查看更多