ruby-on-rails – 如何有选择地静音Rails 3弃用警告?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何有选择地静音Rails 3弃用警告?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在升级Rails 2到Rails 3应用程序(代码不是我写的).
(经过良好测试的代码)使用了shoulda和Test :: Unit,并广泛使用了宏__create和should_change.

据了解,从this discussion开始,应该保持这种方法,但是使用Test :: Unit的人并不需要(不知道我是否掌握了整个讨论).

Anaway,有没有办法选择性地转换指定宏的弃用警告?我从this posting已经知道可以通过设置以下方式关闭耙测试输出中的废弃警告:

ActiveSupport::Deprecation.silenced = true

在你的测试环境文件中,我也知道你可以把特定的代码片段放在一个块中,让它们沉默:

ActiveSupport::Deprecation.silence do
# no warnings for any use of deprecated methods here
end

后者是一个选项,但是需要我遍历所有的测试,并将这个应用程序宏包含在这样一个块中.所以我想知道有没有办法消除特定宏的警告完全与一个配置设置?

解决方法

旧问题 – 但如果您有新的折旧,您可以选择性地忽略:
ActiveSupport::Deprecation.behavior = lambda do |msg,stack| 
  unless /LIBRARY_NAME/ =~ msg
    ActiveSupport::Deprecation::DEFAULT_BEHAVIORS[:stderr].call(msg,stack) # whichever handlers you want - this is the default
  end
end

这是ActiveSupport 3.

原文链接:https://www.f2er.com/ruby/267255.html

猜你在找的Ruby相关文章