Можно ли использовать настраиваемый ресурс из какой-либо кулинарной книги для создания настраиваемого ресурса в своей собственной кулинарной книге?
У меня есть кулинарная книга, скажем, название моей кулинарной книги check
и я пытаюсь создать собственный ресурс, располагая файл в следующей структуре каталогов: check/resources/myresource.rb
. В этомmyresource.rb
файл, мне нужно использовать настраиваемый ресурс из другой кулинарной книги line
. Как использовать ресурс изline
поваренная книга в myresource.rb
?
2 ответа
Исходя из того, что уже упомянул @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
Таким образом, при конвергенции все ресурсы будут доступны для операций.
Вы можете сделать это точно так же, как если бы вы хотели использовать это в своем рецепте.
- Зависит от кулинарной книги, в которой определен другой настраиваемый ресурс:
# 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