如何从不同的食谱调用方法?

时间:2015-03-16 01:17:04

标签: ruby chef chef-recipe

我正在尝试从食谱“a”的食谱'A'访问食谱“b”的食谱'B'中的方法。我使用include_recipe'cookbook :: recipe'将配方'B'包含在配方'A'中。

    #cookbook Flower
    #chef recipe 'Rose' DSL
     def method_to_be_called 
        do something
     end

    #cookbook Animal
    #chef recipe 'Tiger' DSL
    include_recipe "Flower::Rose"
      #call method_to_be_called of 'Rose' recipe
   end

我正在学习Ruby和Chef DSL,因此我不知道我想要实现的目标是否可行。如果是,我该如何调用该方法? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

这并不是厨师的工作方式。您可以将方法包装在库中并以这种方式调用它。

例如,将您的方法放在:

# cookbook/rose/libraries/helper.rb
class Rose
   def self.method_to_be_called
   end
end

# cookbook/tiger/recipes/default.rb
Rose.method_to_be_called()