aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rbconfig/obsolete.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbconfig/obsolete.rb')
-rw-r--r--lib/rbconfig/obsolete.rb38
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