Можно ли использовать настраиваемый ресурс из какой-либо кулинарной книги для создания настраиваемого ресурса в своей собственной кулинарной книге? - PullRequest
0 голосов
/ 17 июня 2020

У меня есть кулинарная книга, скажем, имя моей кулинарной книги check, и я пытаюсь создать собственный ресурс, поместив файл в следующую структуру каталогов: check/resources/myresource.rb. В этом myresource.rb файле мне нужно использовать пользовательский ресурс из другой кулинарной книги line. Как использовать ресурс из line кулинарной книги myresource.rb?

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Вы можете сделать это точно так же, как если бы вы хотели использовать его в своем рецепте.

  1. Зависит от поваренной книги, в которой определен другой пользовательский ресурс:
# metadata.rb

depends 'line', '~> X.Y' # add this line, replacing X and Y with line cookbook version
Использовать настраиваемый ресурс. Вы можете использовать его в рецепте или в своем настраиваемом ресурсе везде, где вы обычно можете использовать ресурсы. (Я использовал line_resource в качестве примера, настоящее имя отличается, в зависимости от того, в каком файле в line кулинарной книге оно было объявлено.)
# check/resources/myresource.rb

action :some_action do
  line_resource [...] do
    [...]
  end
end
0 голосов
/ 18 июня 2020

Исходя из того, что уже упомянул @Draco, два описанных им шага являются обязательными. В дополнение к этому, необходимо включить поваренную книгу, когда вы вызываете пользовательский ресурс в своем рецепте.

# 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

Таким образом, при сходимости все ресурсы будут доступны для операций.

...