class Gem::TargetRbConfig - rubygems: Ruby Standard Library Documentation

# 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 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 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 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 rubygems/target_rbconfig.rb, line 47
    def [](key)
      @rbconfig::CONFIG[key]
    end