ruby - Roo 弃用的 roo 方法

标签 ruby xls roo-gem

通过以下代码在 Windows 上使用 roo gem:

require 'roo'
require 'roo-xls'

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

我收到消息到 STDOUT

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

之后代码运行良好,我可以做任何我想做的事。但是,我想摆脱这个消息(不创建新类或类似的东西,它只是打开一个文件......对吧?)。我该怎么做?

最佳答案

正确的解决方法是不使用已弃用的方法,而是使用推荐的方法。但是,在这种情况下,不是您在使用已弃用的方法 it's the author of roo-xls :

make_tmpdir do |tmpdir| # …

所以,你唯一能做的就是:

  1. 提交针对 roo-xls 的错误报告,最好通过拉取请求解决问题(实际上,前者是 was already done for you )
  2. 暂时,suppress deprecation warnings直到上游问题解决; Roo 使用 Kernel#warn , 所以你只能关闭所有警告,但这样的事情应该有效:

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

关于ruby - Roo 弃用的 roo 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764794/

相关文章:

mysql - 将数据从 excel 表存储到 ror 中的 db

ruby-on-rails - 尝试解析 XLS 文件时出现 "OLE2 signature is invalid"

ruby-on-rails - 在 Rails 中导入共享的 Google 电子表格

ruby-on-rails - Rails 中特定于模型的 SQL 日志记录

ruby-on-rails - Rails 服务器无法启动,Rails 5 中的弃用警告(MIME?Sprockets?)

java - 如何使用 Apache POI 设置漂亮的浮点值?

Angular 6 ResponseContentType

ruby-on-rails - 名称修复/验证?

ruby - git是否创建额外的文件

sql - 使用 UTF-8 将 Excel (XLS) 转换为 CSV