Silencing Deprecation warnings in Rails 3
Asked Answered
T

3

28

Can anyone tell me how to silence deprecation warinings in Rails 3?

I have a few situations where it is throwing false positives. Namely using - for loops in haml and f.error_messages from the dynamic_form plugin.

Thanks

Theotokos answered 22/4, 2010 at 8:53 Comment(2)
Do you want to silence all deprecation warnings or just warnings in selected blocks of code?Fromenty
preferably just the pieces of code i know are safe, but either way if i could toggle it would be nice just to cut out some log noise.Theotokos
F
60

To silence all deprecation warnings you can do:

ActiveSupport::Deprecation.silenced = true

This could be placed in an initializer or in the environment file for a specific environment (e.g. to silence only in production for example.)

Or for a specific section of code, enclose it in a block:

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

This works for both Rails 3 & 4.

Fromenty answered 22/4, 2010 at 13:12 Comment(1)
I also have some great black duct tape you can put over your engine oil light ;)Expulsive
D
12

The accepted answer didn't work for me with Rails 3.2.12. Placing it in either the environments/production.rb or an initializer still outputted the warnings. I had to put it in my config/environment.rb file before the application was initialized:

# Load the rails application
require File.expand_path('../application', __FILE__)

::ActiveSupport::Deprecation.silenced = true if Rails.env.production?

# Initialize the rails application
Notices::Application.initialize!
Demonic answered 18/2, 2013 at 13:44 Comment(1)
thank you for posting, compared to the other solutions, this is the only thing that worked in Rails 4Nellanellda
R
7

Ryan Daigle wrote an article about this, in which he also showed how you can intercept the deprecation warning and do something else with it, like send it to a log file:

ActiveSupport::Deprecation.behavior = Proc.new { |msg, stack| MyLogger.warn(msg) }

http://ryandaigle.com/articles/2006/12/4/how-to-turn-deprecation-warnings-off-in-rails

Reveal answered 17/6, 2011 at 13:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.