1

我有一个应用程序,我刚刚添加了 Simplecov 以获取代码覆盖率统计信息。添加此 Gem 后,我开始收到以下错误:

/Users/KristaOdger/.rvm/gems/jruby-1.7.6/gems/lockfile-2.1.0/lib/lockfile.rb:72 warning: optional boolean argument is obsoleted
/Users/KristaOdger/.rvm/gems/jruby-1.7.6/gems/lockfile-2.1.0/lib/lockfile.rb:73 warning: optional boolean argument is obsoleted
/Users/KristaOdger/.rvm/gems/jruby-1.7.6/gems/lockfile-2.1.0/lib/lockfile.rb:74 warning: optional boolean argument is obsoleted
/Users/KristaOdger/.rvm/gems/jruby-1.7.6/gems/lockfile-2.1.0/lib/lockfile.rb:75 warning: optional boolean argument is obsoleted

(当我启动 Rails 服务器时,打印出大约 20 行这样的行)

它们似乎只是警告,所以我并不担心,但摆脱它们会很好。Simplecov 和 lockfile gems 都已经是最新版本(Simplecov 0.8.1 和 lockfile 2.1.0),所以我无法更新其中一个......还有其他人遇到过这个吗?

编辑:其他环境细节

Jruby 1.7.6、Rails 3.1.3、Warbler 1.3.8、Bundler 1.3.5

4

1 回答 1

0

看起来这来自使用attr()函数指定类/模块属性(而不是attr_accessor,attr_writerattr_reader

您可以从Module attr() 函数的源代码中看到,为该函数指定布尔参数的语法现在已过时。(没有布尔参数或假布尔参数会创建可读属性,而真正的布尔参数会导致可读和可写属性)。

看起来没有必要修复任何东西,它不会导致问题 - 仍然会创建具有正确访问器级别的正确属性......但是如果完全删除支持,它可能会在未来导致问题......继续向前,gems 应该使用正确的attr_accessor,writerreader方法来声明属性。

到目前为止我遇到的使用过时语法的宝石:

  • 锁定文件
  • 红宝石-hl7
于 2014-09-16T16:38:31.307 回答