Шеф-повар расширяет библиотеки рецептов (с тестированием) - PullRequest
0 голосов
/ 05 мая 2018

У меня есть имя рецепта шеф-повара my_recipe, и я хотел бы добавить к нему библиотеку, чтобы помочь мне в выполнении некоторых задач, и в то же время иметь возможность гладко запускать chefspec. Я прочитал документацию extended recipe , но не смог найти, как расширить (или динамически создать) класс в пространстве имен рецепта.

вот фрагмент:

# 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 Ответ

0 голосов
/ 05 мая 2018

Нет такого перевода. Я не очень понимаю, откуда у вас вся эта классовая структура. То, что вы хотите, это просто:

module MyHelpers
  def self.foo

А потом MyHelpers.foo в вашем рецепте.

...