2016-09-07 6 views
0

レシピに条件ブロックがあり、そのノードの実行リストに "frenchblog"というレシピがない場合。特定の料理レシピのレシピが存在しない場合にのみ実行されるレシピ条件

link:これは、node.run_list.recipe?("frenchblog::default")を使用することを示しています。これは料理レシピ全体ではなく特定のレシピでのみ動作し、正規表現(例えば/frenchblog/など)と一致する方法が見つからない場合は、文字列ではないため、1に変換できません。

レシピのコード内の料理本からのレシピの存在をテストするにはどうすればよいですか?とにかくnode.run_listのオブジェクトを文字列に変換して、正規表現にマッチさせることができますか?

答えて

0

これは非常に奇妙な要求であり、あなたは、あなたがたがべきではない何かやっている非常に高いチャンスがあります:node["recipes"].any? {|r| r.start_with?("frenchblog") }

0

node.run_list方法の配列を返すが、あなたはそれをフィルタリングするために、すべてのルビーの機能を使用して確認することができますが、存在。

この線に沿って何かを行う必要があります

node.run_list.select { |entry| entry[/frenchblog::/] }.length == 0 

これを行うのは非常に奇妙な何かのように聞こえる、それが一日の終わりに、おそらく脆いです。

関連する問題