如何在食谱的属性文件中访问自己的库函数(在以下模块中创建)?
module Gerrit
module Helpers
def gerrit_above?(version)
require 'chef/version_constraint'
Chef::VersionConstraint.new(">= #{version}").include?(node['gerrit']['version'])
end
end
end
Chef::Recipe.send(:include, ::Gerrit::Helpers)
Chef::Resource.send(:include, ::Gerrit::Helpers)
Chef::Provider.send(:include, ::Gerrit::Helpers)
我可以通过gerrit_above?
在食谱中访问它,但是没有找到一种方法可以在属性文件中同时使用它。我尝试了以下一行
Chef::Node::Attribute.send(:include, ::Gerrit::Helpers)
但是在使用:
访问node
时失败了
Undefined method or attribute `node' on `node'
有没有人有一个干净的解决方案?