2016-09-29 3 views
3

utilisant gem roo sous Windows avec le code suivant:Roo dépréciée méthode roo

require 'roo' 
require 'roo-xls' 

workbook = Roo::Excel.new 'test.xls' 

Je reçois un message à STDOUT

[DEPRECATION] extend Roo::Tempdir and use its .make_tempdir instead 

Le code fonctionne très bien après, je suis capable de faire everyting I vouloir. Cependant, je veux me débarrasser de ce message (sans faire une nouvelle classe ou quelque chose comme ça, c'est juste ouvrir un fichier ... non?). Comment je fais ça?

Répondre

5

La solution correcte serait de ne pas utiliser la méthode obsolète et d'utiliser à la place celle recommandée. Cependant, dans ce cas, ce n'est pas vous qui utilise la méthode désapprouvée, it's the author of roo-xls:

make_tmpdir do |tmpdir| # … 

Ainsi, les seules choses que vous pouvez faire:

    fichier
  1. un rapport de bogue roo-xls, de préférence avec une demande de tirage corrigeant le problème (en fait, l'ancien was already done for you)
  2. pour l'instant, suppress deprecation warnings jusqu'à ce que le problème amont soit résolu ; Roo utilise Kernel#warn, donc vous pouvez malheureusement désactiver tous les avertissements, mais quelque chose comme cela devrait fonctionner:

    original_warning_level = $VERBOSE 
    $VERBOSE = nil 
    
    workbook = Roo::Excel.new 'test.xls' 
    
    $VERBOSE = original_warning_level