2017-03-17 1 views

Répondre

0

Les variables locales ne sont pas visibles dans un include car cela les rendrait non variables locales. Ou plus généralement parce que ce n'est pas comme ça que fonctionne Ruby.

+0

Les moyens doivent déclarer une variable globale, Ok aidez-moi .Know Je pose des questions générales je suis débutant comme Devops – Udhay

0

Afin de réaliser ce que vous voulez, vous devez utiliser les aides et les bibliothèques de livre de recettes. Pour commencer, vous pouvez vérifier ces ressources pour les bibliothèques https://blog.chef.io/2014/03/12/writing-libraries-in-chef-cookbooks/

Ceci est des exemples de base avec des aides.

Dans votre dossier de livre de cuisine vous a besoin de créer un fichier des bibliothèques/helpers.rb

module MyCookbook 
    module Helpers 
    @@state_value ||= '' 

    def set_state_value(v) 
     @@state_value = v 
     @@state_value 
    end 

    def get_state_value 
     @@state_value 
    end 
    end 
end 

Chef::Recipe.send(:include, MyCookbook::Helpers) 

Disons que vous avez deux recettes - A et B (Exécuté sequently) en chef. Dans A vous mettez set_state_value("state value") et dans B get_state_value et vous avez ce que vous définissez à partir d'une recette dans la recette B.