2016-09-29 46 views
3

使用Roo的宝石在Windows上用下面的代码:袋鼠弃用袋鼠方法

require 'roo' 
require 'roo-xls' 

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

我得到消息STDOUT

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

代码后工作正常,我能够做everyting我想。然而,我想摆脱这个信息(没有创建一个新的类或类似的东西,它只是打开一个文件...对不对?)。我怎么做?

回答

5

正确的修复方法是不使用弃用的方法,而是使用推荐的方法。然而,在这种情况下,它不是你是谁在使用过时的方法,it's the author of roo-xls

make_tmpdir do |tmpdir| # … 

所以,你唯一可以做的事情是:

  1. 文件对bug报告roo-xls,最好有一个修正问题的拉动请求(实际上,前者为was already done for you
  2. 暂时为suppress deprecation warnings,直到上游问题解决;小豆使用Kernel#warn,这样你就可以可惜只关闭所有的警告,但这样的事情应该工作:

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