cookbook/libraries/rn_helper.rb:
def sample_func
puts "woohoo"
end
Recipe/资源/rn.rb:
action :create do
sample_func
end
以上代码完美运行。下面的代码没有:
cookbook/libraries/rn_helper.rb:
module SampleModule
def sample_func
puts "woohoo"
end
end
Recipe/资源/rn.rb:
extend SampleModule
action :create do
sample_func
end
错误如下:
NameError:自定义资源 [usr.bin.foo] 有一个错误:NameError:没有名为“sample_func”的资源、方法或局部变量用于“来自 Recipe some_cookbook 操作提供程序“usr.bin.foo”的 LWRP 资源 some_resource”
这是一种新型的 Chef 12.5 自定义资源——没有提供程序文件。一切都在资源本身中描述。
如何使用新型自定义资源语法“模块化”我的助手?
最佳答案
您可以访问内部“ Action 类”来添加方法:
action_class do
include SampleModule
end
关于ruby - 在 Chef 中将助手与无提供程序的 12.5 样式自定义资源 (LWRP) 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34514530/