blob: 60f0a52d3e44098adcb27f393240d1b5fd9a9fe7 (
plain)
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
|
############################################################
# This file is imported from a different project.
# DO NOT make modifications in this repo.
# File a patch instead and assign it to Ryan Davis
############################################################
class Module # define deprecation api
DEPS = Hash.new { |h,k| h[k] = {} }
def tu_deprecation_warning old, new = nil, kaller = nil
kaller ||= caller[1]
unless DEPS[old][kaller] then
msg = "#{self}##{old} deprecated. "
msg += new ? "Use ##{new}" : "No replacement is provided"
msg += ". From #{kaller}."
warn msg
end
DEPS[old][kaller] = true
end
def tu_deprecate old, new
class_eval <<-EOM
def #{old} *args, &block
cls, clr = self.class, caller.first
self.class.tu_deprecation_warning #{old.inspect}, #{new.inspect}, clr
#{new}(*args, &block)
end
EOM
end
end
|