Dans ruby, existe-t-il un moyen de "défaire" une variable ou une constante une fois qu'elle a été définie?Est-il possible de défaire une variable dans ruby?
Dans nos rails environemnts, nous définissons un des trois Constantes pour être true
, en fonction de l'environnement: TESTING
, DEVELOPMENT
ou PRODUCTION
. Ensuite, dans le code du contrôleur, nous utilisons defined?
pour voir dans quel environnement nous sommes, par exemple: defined? PRODUCTION
.
Maintenant, je veux tester un peu ce comportement spécifique à l'environnement. Ma première tentative consistait simplement à définir la constante appropriée dans mon test, puis à les réinitialiser dans le démontage. Cependant, je ne peux pas comprendre comment réinitialiser DEVELOPMENT
et PRODUCTION
de telle sorte que defined?
renvoie faux. De toute évidence, une solution consisterait simplement à vérifier si la constante appropriée est également vraie, en plus de vérifier si elle est définie, mais cela nécessitera de toucher une bonne partie du code existant.
EDIT: Je réalise que ce n'est certainement pas la bonne façon de faire les choses. Hélas, le changement est une tâche non triviale, donc je cherche un moyen facile de tester ce qui existe actuellement. De plus, je suis également curieux de savoir s'il est possible de dé-définir une variable/constante.
C'est exactement ce que je cherchais, hacky ou pas (c'est le code de test de l'unité, donc je ne suis pas terriblement inquiet que ce soit privé). Merci! –