ruby / chef:'node'节的目的是什么?

时间:2018-01-02 16:46:24

标签: ruby chef test-kitchen

以下是代码片段的示例:

def change 
  create_table :comments do |t|
    ...
    t.belongs_to :user, index: true
    ...
  end
end

我刚刚使用此语法而无法在线查找我需要使用mwh_dir = "#{node['fmw']['middleware_home_dir']}" 节的详细信息。

如果有人能够解释node在该代码中的用途。

注意:node是.kitchen.yml中定义的对象,fmw是在该对象中定义的变量。

1 个答案:

答案 0 :(得分:2)

主厨node是一种引用attributes的方式。

从本质上讲,node可以用作Ruby Hash,您的食谱代码可以公开使用。可以在.kitchen.yml中设置属性,也可以在cookbook的attributes/default.rb文件中设置默认值。这些属性将作为node变量中的哈希映射值提供。