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
DESTDIR on make install.
- MAKEFILE_CONFIG
Almost same with CONFIG. MAKEFILE_CONFIG has 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 = {}
::expand is 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 279 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
ruby → path
click to toggle source
returns the absolute pathname of the ruby command.
# File rbconfig.rb, line 306 def RbConfig.ruby File.join( RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"] ) end