Deprecation specifies the API used by Rails to deprecate methods, instance variables, objects and constants.
Namespace
Module
- ActiveSupport::Deprecation::Behavior
 - ActiveSupport::Deprecation::DeprecatedConstantAccessor
 - ActiveSupport::Deprecation::Disallowed
 - ActiveSupport::Deprecation::MethodWrapper
 - ActiveSupport::Deprecation::Reporting
 
Class
- ActiveSupport::Deprecation::DeprecatedConstantProxy
 - ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy
 - ActiveSupport::Deprecation::DeprecatedObjectProxy
 
Methods
Included Modules
- Singleton
 - ActiveSupport::Deprecation::Behavior
 - ActiveSupport::Deprecation::Reporting
 - ActiveSupport::Deprecation::Disallowed
 - ActiveSupport::Deprecation::MethodWrapper
 
Constants
| DEFAULT_BEHAVIORS | = | { raise: ->(message, callstack, deprecation_horizon, gem_name) { e = DeprecationException.new(message) e.set_backtrace(callstack.map(&:to_s)) raise e }, stderr: ->(message, callstack, deprecation_horizon, gem_name) { $stderr.puts(message) $stderr.puts callstack.join("\n ") if debug }, log: ->(message, callstack, deprecation_horizon, gem_name) { logger = if defined?(Rails.logger) && Rails.logger Rails.logger else require "active_support/logger" ActiveSupport::Logger.new($stderr) end logger.warn message logger.debug callstack.join("\n ") if debug }, notify: ->(message, callstack, deprecation_horizon, gem_name) { notification_name = "deprecation.#{gem_name.underscore.tr('/', '_')}" ActiveSupport::Notifications.instrument(notification_name, message: message, callstack: callstack, gem_name: gem_name, deprecation_horizon: deprecation_horizon) }, silence: ->(message, callstack, deprecation_horizon, gem_name) { }, } | 
Default warning behaviors per   | 
            ||
Attributes
| [RW] | deprecation_horizon | The version number in which the deprecated behavior will be removed, by default.  | 
          
Class Public methods
new(deprecation_horizon = "7.0", gem_name = "Rails")
It accepts two parameters on initialization. The first is a version of library and the second is a library name.
ActiveSupport::Deprecation.new('2.0', 'MyLibrary')
            📝 Source code
# File activesupport/lib/active_support/deprecation.rb, line 41
    def initialize(deprecation_horizon = "7.0", gem_name = "Rails")
      self.gem_name = gem_name
      self.deprecation_horizon = deprecation_horizon
      # By default, warnings are not silenced and debugging is off.
      self.silenced = false
      self.debug = false
      @silenced_thread = Concurrent::ThreadLocalVar.new(false)
      @explicitly_allowed_warnings = Concurrent::ThreadLocalVar.new(nil)
    end
              
                🔎 See on GitHub