【发布时间】:2015-03-10 17:40:53
【问题描述】:
我遇到了在库代码中使用“搜索”方法的问题: 库/helpers.rb
Bcpc
Helper
extend self
def help(node=node)
search(:node, "....")
end
end
end
Chef::Recipe.send(:include, Bcpc::Helper)
Chef::Resource.send(:include, Bcpc::Helper) 用于使用模块方法的食谱。
然后在这样的配方中使用此模块方法: Bcpc::Helper.help(节点) 运行时报Bcpc::Helper:Module中未定义搜索方法的错误
我发现搜索方法是在 Chef::Search::Query 类中定义的。然后我尝试在我的库代码中使用搜索的全名,例如:Chef::Search::Query.search(:node, "....")。 但它报告在 Chef::Search::Query 中未定义搜索。 这个搜索方法是否应该是一个可以通过其类名调用的静态方法?
在这种情况下,如何在我的库代码中使用 Chef 提供的“搜索”方法? 谢谢!
【问题讨论】:
-
请检查stackoverflow.com/questions/19134728/…,这似乎和你的问题相似。
-
@rastasheep 谢谢,是的,类似的。但这里是一种方法。我也想在参数中传入方法引用。但我想看看其他更好的想法。
标签: chef-infra