diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rbconfig/obsolete.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/rbconfig/obsolete.rb b/lib/rbconfig/obsolete.rb new file mode 100644 index 0000000000..8669186083 --- /dev/null +++ b/lib/rbconfig/obsolete.rb @@ -0,0 +1,38 @@ +module ::RbConfig + module Obsolete + end + class << Obsolete + def _warn_ + loc, = caller_locations(2, 1) + loc = "#{loc.to_s}: " if loc + warn "#{loc}Use RbConfig instead of obsolete and deprecated Config." + self + end + + def const_missing(name) + _warn_ + ::RbConfig.const_get(name) + end + + def method_missing(*args, &block) + _warn_ + rbconfig = ::RbConfig + result = rbconfig.__send__(*args, &block) + result = rbconfig if rbconfig.equal?(result) + result + end + + def respond_to_missing?(*args, &block) + _warn_ + ::RbConfig.respond_to_missing?(*args, &block) + end + end +end + +::Config = ::RbConfig::Obsolete._warn_ +=begin +def Object.const_missing(name) + return super unless name == :Config + ::RbConfig::Obsolete._warn_ +end +=end |