Ruby 4.1 リファレンスマニュアル

class Gem::Platform

[edit]

要約

選択した Gem のインストールを実行できるプラットフォームのリストを扱うクラスです。

目次

特異メソッド
インスタンスメソッド
定数

特異メソッド

generic(platform) -> Gem::Platform | StringRuby 4.0 から[permalink][rdoc][edit]

platform に対応する一般化されたプラットフォームを返します。

Java 用や各種 Windows 用としてまとめて扱われる代表的なプラットフォームが存在する場合はそれを返します。該当するものが無い場合や、platform が nil または Gem::Platform::RUBY の場合は Gem::Platform::RUBY を返します。

[PARAM] platform:
一般化したい Gem::Platform のインスタンス、または nil を指定します。
例
p Gem::Platform.generic(Gem::Platform::RUBY)               # => "ruby"
p Gem::Platform.generic(Gem::Platform.new("x86_64-linux")) # => "ruby"

[SEE_ALSO] Gem::Platform.sort_priority

installable?(spec) -> boolRuby 2.1.0 から[permalink][rdoc][edit]

spec が現在の環境にインストール可能かどうかを返します。

spec が installable_platform? に応答する場合はその結果を、応答しない場合は Gem::Platform.match_spec? の結果を返します。

[PARAM] spec:
判定したい Gem::Specification のインスタンスを指定します。
例
spec = Gem::Specification.new("rake", "1.0.0")
spec.platform = Gem::Platform::RUBY
p Gem::Platform.installable?(spec) # => true

[SEE_ALSO] Gem::Platform.match_spec?

local -> Gem::PlatformRuby 1.9.3 から[permalink][rdoc][edit]

[TODO] ???

match_gem?(platform, gem_name) -> boolRuby 3.0 から[permalink][rdoc][edit]

platform が現在の環境にインストール可能なプラットフォームかどうかを返します。

内部で Gem.platforms を参照し、そのいずれかと platform が一致するかどうかを調べます。 gem_name は TruffleRuby など一部の Ruby 処理系でのみ判定に使われます。

[PARAM] platform:
判定したい Gem::Platform のインスタンス、または文字列を指定します。
[PARAM] gem_name:
対象の Gem の名前を文字列で指定します。
例
p Gem::Platform.match_gem?(Gem::Platform::RUBY, "rake") # => true

[SEE_ALSO] Gem::Platform.match_spec?

match_spec?(spec) -> boolRuby 3.0 から[permalink][rdoc][edit]

spec のプラットフォームが現在の環境にインストール可能かどうかを返します。

Gem::Platform.match_gem? に、spec の Gem::Specification#platform と Gem::Specification#name を渡した結果を返します。

[PARAM] spec:
判定したい Gem::Specification のインスタンスを指定します。
例
spec = Gem::Specification.new("rake", "1.0.0")
spec.platform = Gem::Platform::RUBY
p Gem::Platform.match_spec?(spec) # => true

[SEE_ALSO] Gem::Platform.match_gem?

new(arch) -> Gem::PlatformRuby 1.9.3 から[permalink][rdoc][edit]

自身を初期化します。

[PARAM] arch:
アーキテクチャを指定します。
sort_priority(platform) -> IntegerRuby 3.1 から[permalink][rdoc][edit]

ソートする際に platform を優先させるための整数を返します。

platform が Gem::Platform::RUBY であれば -1 を、そうでなければ 1 を返します。値が小さいほど優先順位が高いことを表します。

[PARAM] platform:
優先順位を調べたい Gem::Platform のインスタンスを指定します。
例
p Gem::Platform.sort_priority(Gem::Platform::RUBY)               # => -1
p Gem::Platform.sort_priority(Gem::Platform.new("x86_64-linux")) # => 1

インスタンスメソッド

self == other -> boolRuby 1.9.3 から[permalink][rdoc][edit]
eql?(other) -> bool

自身と other が同じプラットフォームである場合に真を返します。そうでない場合は偽を返します。

同じプラットフォームであるとは、二つのプラットフォームの CPU, OS, バージョンが同じであるということです。

[PARAM] other:
比較対象のオブジェクトです。
self === other -> boolRuby 1.9.3 から[permalink][rdoc][edit]

自身と other のプラットフォームが一致する場合に真を返します。そうでない場合は、偽を返します。

プラットフォームが一致するとは、以下の条件を満たすことです。

  • 同じ CPU であること、または、どちらか一方が 'universal' であること
  • 同じ OS であること
  • 同じバージョンであること、または、どちらか一方がバージョンを持たないこと
[PARAM] other:
比較対象のオブジェクトです。
self =~ other -> boolRuby 1.9.3 から[permalink][rdoc][edit]

自身と other のプラットフォームが一致する場合に真を返します。そうでない場合は、偽を返します。

other が文字列の場合は、まず Gem::Platform に変換してから比較を行います。 other が文字列でも Gem::Platform でもない場合は nil を返します。

[PARAM] other:
比較対象のオブジェクトです。

[SEE_ALSO] Gem::Platform#===

cpu -> StringRuby 1.9.3 から[permalink][rdoc][edit]

CPU のアーキテクチャを返します。

cpu=(cpu)Ruby 1.9.3 から[permalink][rdoc][edit]

CPU のアーキテクチャをセットします。

[PARAM] cpu:
CPU のアーキテクチャを指定します。
to_a -> ArrayRuby 1.9.3 から[permalink][rdoc][edit]
deconstruct -> ArrayRuby 4.0 から

自身にセットされている CPU, OS, バージョンを配列として返します。

deconstruct_keys(keys) -> {Symbol => String | nil}Ruby 4.0 から[permalink][rdoc][edit]

self を cpu・os・version をキーとするハッシュに分解して返します。

パターンマッチングのハッシュパターンに対応するためのメソッドです。

[PARAM] keys:
パターンマッチングの実装から渡されるキーの配列です。self では無視されます。
例
p Gem::Platform.new("x86_64-linux").deconstruct_keys(nil)
# => {cpu: "x86_64", os: "linux", version: nil}

result = case Gem::Platform.new("x86_64-linux")
         in cpu: "x86_64", os: "linux"
           :matched
         end
p result # => :matched

[SEE_ALSO] Gem::Platform#deconstruct, Gem::Platform#to_a

os -> StringRuby 1.9.3 から[permalink][rdoc][edit]

OS の種類を返します。

os=(os)Ruby 1.9.3 から[permalink][rdoc][edit]

OS の種類をセットします。

[PARAM] os:
OS の種類を指定します。
to_s -> StringRuby 1.9.3 から[permalink][rdoc][edit]

自身にセットされている CPU, OS, バージョンを文字列として返します。

version -> StringRuby 1.9.3 から[permalink][rdoc][edit]

プラットフォームのバージョンを返します。

version=(version)Ruby 1.9.3 から[permalink][rdoc][edit]

プラットフォームのバージョンをセットします。

[PARAM] version:
プラットフォームのバージョンを指定します。

定数

CURRENT -> StringRuby 1.9.3 から[permalink][rdoc][edit]

特定のプラットフォーム向けの Gem をビルドするときに使用します。

RUBY -> StringRuby 1.9.3 から[permalink][rdoc][edit]

Pure Ruby の Gem はバイナリファイルをビルドするために Gem::Specification#extensions を使用する可能性があります。