module RbConfig
The module storing Ruby interpreter configurations on building.
This file was created by mkconfig.rb when ruby was built. It contains build information for ruby which is used e.g. by mkmf to build compatible native extensions. Any changes made to this file will be lost the next time ruby is built.
Constants
- CONFIG
 The hash configurations stored.
- DESTDIR
 DESTDIRon make install.- MAKEFILE_CONFIG
 Almost same with
CONFIG.MAKEFILE_CONFIGhas other variable reference like below.MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"
The values of this constant is used for creating Makefile.
require 'rbconfig' print <<-END_OF_MAKEFILE prefix = #{Config::MAKEFILE_CONFIG['prefix']} exec_prefix = #{Config::MAKEFILE_CONFIG['exec_prefix']} bindir = #{Config::MAKEFILE_CONFIG['bindir']} END_OF_MAKEFILE => prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin MAKEFILE_CONFIG = {}RbConfig.expandis used for resolving references like above in rbconfig.require 'rbconfig' p Config.expand(Config::MAKEFILE_CONFIG["bindir"]) # => "/usr/local/bin"
- TOPDIR
 Ruby installed directory.
Public Class Methods
          
            expand(val)         → string
          
          
          click to toggle source
          
        
        
        
          
            expand(val, config) → string
          
          
        
        
        
        expands variable with given val value.
RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
# File rbconfig.rb, line 286 def RbConfig::expand(val, config = CONFIG) newval = val.gsub(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) { var = $& if !(v = $1 || $2) '$' elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]] pat, sub = $1, $2 config[v] = false config[v] = RbConfig::expand(key, config) key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat key else var end } val.replace(newval) unless newval == val val end