Расширение рецептов библиотек шеф-повара (с тестированием)
У меня есть название рецепта шеф-повара my_recipe
и я хотел бы добавить к нему библиотеку, чтобы помочь мне сделать кое-что, при этом все еще имея возможность гладко запускать chefspec. Я прочитал документацию по расширению рецепта, но не смог найти, как расширить (или динамически создать) класс в пространстве имен рецепта.
вот фрагмент:
# my_cookbook/recipes/my_recipe.rb
foo = MyRecipe::MyClass.foo
# my_cookbook/libraries/my_class.rb
class Chef
class Recipe
class MyRecipe
unless defined?(Chef::Recipe::MyRecipe::MyClass)
class MyClass
def self.foo
# do stuff
end
end
end
end
end
end
что мне не хватает? как шеф-повар переводит название рецепта dsl my_recipe
к объекту рецепта (MyRecipe
)?
1 ответ
Там нет такого перевода. Я не очень понимаю, откуда у вас вся эта классовая структура. То, что вы хотите, это просто:
module MyHelpers
def self.foo
А потом MyHelpers.foo
в вашем рецепте.