2017-06-12 11 views
1

スーパーマーケット料理の本「webpshere」を拡張するために、LWRPを作成しようとしています。シェフLWRP相対リソース参照

私のリソースファイルで、親クラスの料理本で見つかった基本クラスでこのクラスを拡張しようとしています。

以下のコードでは、'WebsphereBase'が親ライブラリ 'websphere_base'に定義されています。それを参照する方法について私は助けを得ることができますか? おかげsource of the cookbook

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

答えて

1

は、あなたが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

関連する問題