blob: 24545d766c7eafc59248034cdc1627cacc6f102f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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.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
end
end
|