我有一本烹饪书,比如说我的烹饪书的名字是 check
我试图通过将文件放在以下目录结构中来建立一个自定义资源。check/resources/myresource.rb
. 在这个 myresource.rb
文件,我需要使用另一本烹饪书中的自定义资源。line
. 我如何使用来自 line
烹饪书 myresource.rb
?
如果你想在你的食谱中使用它,你可以用完全相同的方式来做。
# metadata.rb
depends 'line', '~> X.Y' # add this line, replacing X and Y with line cookbook version
line_resource
为例,真实的名称是不同的,这取决于在哪个文件中的 line
cookbook它是申报的)。)# check/resources/myresource.rb
action :some_action do
line_resource [...] do
[...]
end
end
根据@Draco已经提到的,他所描述的两个步骤是必须的步骤。除此之外,在你的食谱中调用自定义资源的时候,需要对cookbook进行收录。
# check/resources/myresource.rb
resource_name :myresource
property :cookbook_inclusion, String
property :some_name, String, name_property: true
action :some_action do
include_recipe new_resource.cookbook_inclusion
line_resource [...] do
[...]
end
end
那么在配方中调用它的时候,你可以提到你想要包含的食谱的名称。
# check/recipes/default.rb
myresource 'include' do
cookbook_inclusion 'line'
end
这样一来,在融合时,所有的资源都可以进行操作。