Class: ActiveSupport::Deprecation
- Includes:
- Behavior, InstanceDelegator, MethodWrapper, Reporting, Singleton
- Defined in:
- lib/active_support/deprecation.rb,
lib/active_support/deprecation/behaviors.rb,
lib/active_support/deprecation/reporting.rb,
lib/active_support/deprecation/proxy_wrappers.rb,
lib/active_support/deprecation/method_wrappers.rb,
lib/active_support/deprecation/constant_accessor.rb,
lib/active_support/deprecation/instance_delegator.rb
Overview
Deprecation specifies the API used by Rails to deprecate methods, instance variables, objects and constants.
Defined Under Namespace
Modules: Behavior, DeprecatedConstantAccessor, InstanceDelegator, MethodWrapper, Reporting Classes: DeprecatedConstantProxy, DeprecatedInstanceVariableProxy, DeprecatedObjectProxy, DeprecationProxy
Constant Summary collapse
- 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) { }, }
Instance Attribute Summary collapse
-
#deprecation_horizon ⇒ Object
The version number in which the deprecated behavior will be removed, by default.
Attributes included from Reporting
Attributes included from Behavior
Instance Method Summary collapse
-
#initialize(deprecation_horizon = "6.1", gem_name = "Rails") ⇒ Deprecation
constructor
It accepts two parameters on initialization.
Methods included from MethodWrapper
Methods included from Reporting
#deprecation_warning, #silence, #warn
Methods included from Behavior
Methods included from InstanceDelegator
Constructor Details
#initialize(deprecation_horizon = "6.1", 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')
38 39 40 41 42 43 44 |
# File 'lib/active_support/deprecation.rb', line 38 def initialize(deprecation_horizon = "6.1", 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 ⇒ Object
The version number in which the deprecated behavior will be removed, by default.
32 33 34 |
# File 'lib/active_support/deprecation.rb', line 32 def deprecation_horizon @deprecation_horizon end |