Comme les variables ENV de Rails ne doivent avoir que des valeurs de type chaîne de caractères, il peut être difficile de décider comment utiliser les variables ENV pour les cas d'utilisation qui nécessitent une logique booléenne. Par exemple, étant donné que la variable ENV a une valeur de chaîne de caractères et qu'elle sera toujours vraie, il ne serait pas très agréable de faire quelque chose comme ça :
if ENV['MY_VARIABLE']
# do something
else
# do something else
end
Il y a donc au moins deux façons d'accomplir ce genre de choses :
Initialiser une variable avec une valeur particulière et la vérifier
if ENV['MY_VARIABLE'] == 'some string'
# do something
elsif ENV['MY_VARIABLE'] == 'some other string'
# do something else
end
Ou simplement initialiser la variable avec une valeur quelconque et vérifier si elle a été initialisée (le code pourrait être exactement comme nous le souhaitons).
if ENV['MY_VARIABLE']
# do something
else
# do something else
end
La question est de savoir quelle est l'option préférée et quels sont les avantages et les inconvénients de chacune d'entre elles.