blob: 37896e0cae7154b647aa31844deae73b53581027 (
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
|
require "active_support/string_inquirer"
require "active_support/basic_object"
module Rails
class DeprecatedConstant < ActiveSupport::BasicObject
def self.deprecate(old, new)
constant = self.new(old, new)
eval "::#{old} = constant"
end
def initialize(old, new)
@old, @new = old, new
@target = ::Kernel.eval "proc { #{@new} }"
@warned = false
end
def method_missing(meth, *args, &block)
::ActiveSupport::Deprecation.warn("#{@old} is deprecated. Please use #{@new}") unless @warned
@warned = true
target = @target.call
if target.respond_to?(meth)
target.send(meth, *args, &block)
else
super
end
end
end
DeprecatedConstant.deprecate("RAILS_ROOT", "::Rails.root.to_s")
DeprecatedConstant.deprecate("RAILS_ENV", "::Rails.env")
DeprecatedConstant.deprecate("RAILS_DEFAULT_LOGGER", "::Rails.logger")
end
|