mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
43 lines
1.7 KiB
Ruby
43 lines
1.7 KiB
Ruby
require 'singleton'
|
|
|
|
module ActiveSupport
|
|
# \Deprecation specifies the API used by Rails to deprecate methods, instance
|
|
# variables, objects and constants.
|
|
class Deprecation
|
|
# active_support.rb sets an autoload for ActiveSupport::Deprecation.
|
|
#
|
|
# If these requires were at the top of the file the constant would not be
|
|
# defined by the time their files were loaded. Since some of them reopen
|
|
# ActiveSupport::Deprecation its autoload would be triggered, resulting in
|
|
# a circular require warning for active_support/deprecation.rb.
|
|
#
|
|
# So, we define the constant first, and load dependencies later.
|
|
require 'active_support/deprecation/instance_delegator'
|
|
require 'active_support/deprecation/behaviors'
|
|
require 'active_support/deprecation/reporting'
|
|
require 'active_support/deprecation/method_wrappers'
|
|
require 'active_support/deprecation/proxy_wrappers'
|
|
require 'active_support/core_ext/module/deprecation'
|
|
|
|
include Singleton
|
|
include InstanceDelegator
|
|
include Behavior
|
|
include Reporting
|
|
include MethodWrapper
|
|
|
|
# The version number in which the deprecated behavior will be removed, by default.
|
|
attr_accessor :deprecation_horizon
|
|
|
|
# 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')
|
|
def initialize(deprecation_horizon = '5.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
|
|
end
|
|
end
|