19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/couchbase/deprecations.rb', line 19
def self.deprecate_constants(removed_in_version, parent, constants)
deprecator = Module.new do
define_method(:const_missing) do |old_name|
return super unless constants.key?(old_name)
new_name = constants[old_name]
warn "NOTE: #{name}::#{old_name} is deprecated; use Couchbase::#{new_name} instead. " \
"It will be removed in version #{removed_in_version}."
Couchbase.const_get(new_name)
end
end
parent.singleton_class.prepend(deprecator)
end
|