2017-06-12 128 views
1

我正在尝试创建一个LWRP来扩展超市食谱'webpshere'。厨师LWRP引用相对资源

在我的资源文件中,我试图用在父级烹饪书中找到的基类来扩展这个类。

在下面的代码中,'WebsphereBase'在父库“websphere_base”中定义。我可以得到如何参考它的帮助吗? 感谢

#require 'websphere_base' 
    module PIWebsphereCookBook 
    class WebsphereJbdc < WebsphereBase 
    require_relative 'helper' 

回答

1

source of the cookbook,你可以看到WebsphereBase类的WebsphereCookbook模块内部定义。

要从该模块外部引用此类,必须命名嵌套,以便Ruby能够找到您引用的类。随着youur例如,这可以看一下类似:

module PIWebsphereCookBook 
    class WebsphereJbdc < WebsphereCookbook::WebsphereBase 
    require_relative 'helper' 
    # ... 
    end 
end 
+0

非常感谢你,它的工作! – patb23

1

你并不需要的东西需要从上游的食谱来了,你也不能(除了我的怪人食谱)。您所依赖的烹饪书的所有库将在您的库文件运行时加载。

+0

对不起,我没有得到你的建议。在这里,我试图扩展行为(添加未处理的'jdbc'),因此扩展了WebsphereBase类以重用函数。在另一种情况下 - 我能够访问这些库(猜测它与您的建议相同),我只是使用它,如下所示。 模块ArtifactClientCookbook 模块助手 需要'artifactory' 包括Artifactory :: Resource – patb23