ActiveSupport :: Deprecation.silenced = true у меня не работает?

Мое приложение было разработано с использованием Ruby 1.8.7 и Rails 2.3.11.

Я получаю много предупреждений об устаревании при запуске rake spec

DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use   autoload_paths instead. (called from load_paths at /home/soundarapandian/.rvm/gems/ruby-1.8.7-p352/gems/desert-0.5.2/lib/desert/manager.rb:36)
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use autoload_paths instead. (called from load_paths at /home/soundarapandian/.rvm/gems/ruby-1.8.7-p352/gems/desert-0.5.2/lib/desert/manager.rb:36)
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use autoload_paths instead. (called from load_paths at /home/soundarapandian/.rvm/gems/ruby-1.8.7-p352/gems/desert-0.5.2/lib/desert/manager.rb:36)
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use autoload_paths instead. (called from load_paths at /home/soundarapandian/.rvm/gems/ruby-1.8.7-p352/gems/desert-0.5.2/lib/desert/manager.rb:36)
config.load_paths is deprecated and removed in Rails 3, please use autoload_paths instead
config.load_paths= is deprecated and removed in Rails 3, please use autoload_paths= instead
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use autoload_paths instead. (called from load_paths at /home/soundarapandian/.rvm/gems/ruby-1.8.7-p352/gems/desert-0.5.2/lib/desert/manager.rb:36)
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use autoload_paths instead. (called from load_paths at /home/soundarapandian/.rvm/gems/ruby-1.8.7-p352/gems/desert-0.5.2/lib/desert/manager.rb:36)
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, please use 

Я пробовал добавить

ActiveSupport::Deprecation.silenced = true 
#in config/environments/test.rb

Но все равно получаю предупреждения, как это отключить?

Спасибо.


person Soundar Rathinasamy    schedule 03.02.2012    source источник


Ответы (1)


Похоже, это будет config.activesupport.deprecation = :silence в следующем крупном выпуске. См. https://github.com/rails/rails/pull/5986.

Обратите внимание, что вы можете добавить

ActiveSupport::Deprecation::DEFAULT_BEHAVIORS[:silence] = Proc.new { |message, callstack| }

в ваше приложение сейчас, как @carlosantoniodasilva упоминает в середине комментариев, чтобы получить поведение :silence.

Однако, выталкивая стек, ответ «съешь свою брокколи» будет заключаться в том, чтобы исправить предупреждения об устаревании, изменив ваши config.load_paths вызовы в config/application.rb и в других местах на config.autoload_paths, как предполагают предупреждения. Советы по игнорированию предупреждений в долгосрочной перспективе и т. Д.

person Ryan McCuaig    schedule 30.04.2012