class Gem::TargetRbConfig
A TargetConfig is a wrapper around an RbConfig
object that provides a consistent interface for querying configuration for *deployment target platform*, where the gem being installed is intended to run on.
The TargetConfig is typically created from the RbConfig
of the running Ruby process, but can also be created from an RbConfig
file on disk for cross- compiling gems.
Attributes
path[R]
Public Class Methods
for_running_ruby()
click to toggle source
Creates a TargetRbConfig
for the platform that RubyGems is running on.
# File lib/rubygems/target_rbconfig.rb, line 25 def self.for_running_ruby new(::RbConfig, nil) end
from_path(rbconfig_path)
click to toggle source
Creates a TargetRbConfig
from the RbConfig
file at the given path. Typically used for cross-compiling gems.
# File lib/rubygems/target_rbconfig.rb, line 33 def self.from_path(rbconfig_path) namespace = Module.new do |m| # Load the rbconfig.rb file within a new anonymous module to avoid # conflicts with the rbconfig for the running platform. Kernel.load rbconfig_path, m end rbconfig = namespace.const_get(:RbConfig) new(rbconfig, rbconfig_path) end
new(rbconfig, path)
click to toggle source
# File lib/rubygems/target_rbconfig.rb, line 17 def initialize(rbconfig, path) @rbconfig = rbconfig @path = path end
Public Instance Methods
[](key)
click to toggle source
Queries the configuration for the given key.
# File lib/rubygems/target_rbconfig.rb, line 47 def [](key) @rbconfig::CONFIG[key] end