Class: ActiveSupport::Deprecation
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Classes:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Inherits: | Object |
Defined in: | activesupport/lib/active_support/deprecation.rb, activesupport/lib/active_support/deprecation/behaviors.rb, activesupport/lib/active_support/deprecation/constant_accessor.rb, activesupport/lib/active_support/deprecation/instance_delegator.rb, activesupport/lib/active_support/deprecation/method_wrappers.rb, activesupport/lib/active_support/deprecation/proxy_wrappers.rb, activesupport/lib/active_support/deprecation/reporting.rb |
Overview
Deprecation specifies the API used by ::Rails
to deprecate methods, instance variables, objects and constants.
Constant Summary
-
DEFAULT_BEHAVIORS =
Default warning behaviors per Rails.env.
{ raise: ->(, callstack, deprecation_horizon, gem_name) { e = DeprecationException.new( ) e.set_backtrace(callstack.map(&:to_s)) raise e }, stderr: ->(, callstack, deprecation_horizon, gem_name) { $stderr.puts( ) $stderr.puts callstack.join("\n ") if debug }, log: ->(, 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 logger.debug callstack.join("\n ") if debug }, notify: ->(, callstack, deprecation_horizon, gem_name) { notification_name = "deprecation.#{gem_name.underscore.tr('/', '_')}" ActiveSupport::Notifications.instrument(notification_name, message: , callstack: callstack, gem_name: gem_name, deprecation_horizon: deprecation_horizon) }, silence: ->(, callstack, deprecation_horizon, gem_name) {}, }
Reporting
- Included
Class Method Summary
-
.new(deprecation_horizon = "6.0", gem_name = "Rails") ⇒ Deprecation
constructor
It accepts two parameters on initialization.
Instance Attribute Summary
-
#deprecation_horizon
rw
The version number in which the deprecated behavior will be removed, by default.
Reporting
- Included
#gem_name | Name of gem where method is deprecated. |
#silenced | Whether to print a message (silent mode). |
Behavior
- Included
#behavior | Returns the current behavior or if one isn’t set, defaults to |
#behavior= | Sets the behavior to the specified value. |
#debug | Whether to print a backtrace along with the warning. |
Instance Method Summary
MethodWrapper
- Included
#deprecate_methods | Declare that a method has been deprecated. |
Reporting
- Included
#deprecation_warning, | |
#silence | Silence deprecation warnings within the block. |
#warn | Outputs a deprecation warning to the output configured by |
Constructor Details
.new(deprecation_horizon = "6.0", gem_name = "Rails") ⇒ Deprecation
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')
# File 'activesupport/lib/active_support/deprecation.rb', line 38
def initialize(deprecation_horizon = "6.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 end
Instance Attribute Details
#deprecation_horizon (rw)
The version number in which the deprecated behavior will be removed, by default.
# File 'activesupport/lib/active_support/deprecation.rb', line 32
attr_accessor :deprecation_horizon