Ruby 厨师。我可以重写包装器cookbook中的库方法吗?
例如: 社区食谱, 包装纸食谱 a/libraries/default.rb:Ruby 厨师。我可以重写包装器cookbook中的库方法吗?,ruby,chef-infra,Ruby,Chef Infra,例如: 社区食谱, 包装纸食谱 a/libraries/default.rb: module Path def path '/var/' end def other_method; end ... end include Path ... a = path b = other_method ... module Path def path '/usr/' end end 本模块包含在a-cookbook资源中。 a/resources/defaul
module Path
def path
'/var/'
end
def other_method; end
...
end
include Path
...
a = path
b = other_method
...
module Path
def path
'/usr/'
end
end
本模块包含在a-cookbook资源中。
a/resources/default.rb:
module Path
def path
'/var/'
end
def other_method; end
...
end
include Path
...
a = path
b = other_method
...
module Path
def path
'/usr/'
end
end
我想用以下内容覆盖包装器cookbook中的路径方法:
b/libraries/default.rb:
module Path
def path
'/var/'
end
def other_method; end
...
end
include Path
...
a = path
b = other_method
...
module Path
def path
'/usr/'
end
end
是的,
libraries/
中的代码只是按原样运行,所以所有关于monkey补丁的常规Ruby规则都适用。谢谢。在社区菜谱中发现了一个bug——我想覆盖的方法只是没有调用,它欺骗了我。