Un gem/plugin que j'utilise pour prendre en charge ma suite de tests appelle certaines commandes GNU qui entraînent le survol et la mort du shell Windows. Je peux réécrire ces fonctions avec un by-pass de cette façon:Comment faire un appel de fonction qui se produit une seule fois dans Ruby/Rails
def get_rake_output(task)
if RUBY_PLATFORM.include? 'mingw'
puts 'Skipped since OS is Windows. Run the test suite on a UNIX-like shell.'
''
else
`./rake --silent #{task}`
end
end
Bien sûr, cela imprime le message à chaque fois que la fonction est appelée. Comment puis-je m'assurer qu'il ne s'affiche qu'une seule fois?
L'utilisation variable d'instance de se rappeler si le message a été affiché déjà? –