2017-03-17 1 views
0

J'ai 3 recettes différemment mais les trois recettes 90% du code est commun comment puis-je remplacer le code avec la fonction ou avec une recette dans 3 recettesJ'ai 3 recettes différemment mais les trois recettes 90% de code est commun comment puis-je remplacer le code avec fonction ou avec n'importe quelle recette dans 3 recettes

cldbNodes = search(:node, "cldb:true") 


zkNodes = search(:node, "zk:true") 





zks= Array.new 
zkNodes.each do |zk| 
    zks.push zk["fqdn"] 
end 




    cldbs= Array.new 
    cldbNodes.each do |cd| 
    cldbs.push cd["fqdn"] 
    end 
+0

Veuillez mettre les trois recettes à l'essentiel ou un équivalent – coderanger

+0

Vous pouvez placer le code commun dans une recette distincte et utiliser la directive 'include_recipe' dans les 3 recettes similaires. –

+0

J'ai inclus include_recipe ":: searchb" – Udhay

Répondre

0

Vous avez quelques options

Vous pouvez créer une bibliothèque ou LWRP.

Ou vous pouvez simplement créer une seule recette et l'inclure. Cela dépend de ce que vous faites.

Le modèle le plus commun que j'ai vu est de créer trois fichiers de recettes et un attribut qui appelle votre tâche spécifique.