# 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 ()
Source

    # File lib/rubygems/target_rbconfig.rb, line 25
    def self.for_running_ruby
      new(::RbConfig, nil)
    end

Creates a `TargetRbConfig` for the platform that RubyGems is running on.

from_path (rbconfig_path)
Source

    # 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

Creates a `TargetRbConfig` from the `RbConfig` file at the given path. Typically used for cross-compiling gems.

new (rbconfig, path)
Source

    # File lib/rubygems/target_rbconfig.rb, line 17
    def initialize(rbconfig, path)
      @rbconfig = rbconfig
      @path = path
    end

### Public Instance Methods

[] (key)
Source

    # File lib/rubygems/target_rbconfig.rb, line 47
    def [](key)
      @rbconfig::CONFIG[key]
    end

Queries the configuration for the given key.