Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rubygems/specificationライブラリ > Gem::Specificationクラス

class Gem::Specification

クラスの継承リスト: Gem::Specification < Object < Kernel < BasicObject

要約

Gem パッケージのメタデータを扱うためのクラスです。

目次

特異メソッド
_load array_attribute array_attributes attribute attribute_alias_singular attribute_defaults attribute_names attributes default_value from_yaml list load normalize_yaml_input overwrite_accessor read_only required_attribute required_attribute? required_attributes
インスタンスメソッド
_dump add_bindir add_dependency add_development_dependency add_runtime_dependency assign_defaults author author= authors authors= autorequire autorequire= bindir bindir= cert_chain cert_chain= date date= default_executable default_executable= dependencies dependent_gems description description= development_dependencies email email= executable executable= executables executables= extensions extensions= extra_rdoc_files extra_rdoc_files= file_name files files= full_gem_path full_name has_rdoc has_rdoc= has_rdoc? has_test_suite? has_unit_tests? homepage homepage= installation_path lib_files loaded= loaded? loaded_from loaded_from= mark_version name name= normalize original_name original_platform original_platform= platform platform= post_install_message post_install_message= rdoc_options rdoc_options= require_path require_path= require_paths require_paths= required_ruby_version required_ruby_version= required_rubygems_version required_rubygems_version= requirements requirements= rubyforge_project rubyforge_project= rubygems_version rubygems_version= runtime_dependencies satisfies_requirement? signing_key signing_key= specification_version specification_version= summary summary= test_file test_file= test_files test_files= test_suite_file test_suite_file= to_ruby validate version version= yaml_initialize
定数
CURRENT_SPECIFICATION_VERSION MARSHAL_FIELDS NONEXISTENT_SPECIFICATION_VERSION SPECIFICATION_VERSION_HISTORY TODAY

特異メソッド

_load(str) -> Gem::Specification[permalink][rdoc]

マーシャルされたデータをロードするためのメソッドです。

[PARAM] str:
マーシャルされたデータを指定します。
array_attribute(name) -> ()[permalink][rdoc]

Gem::Specification.attribute と同じですが、値を配列に格納するアクセサを作ります。

[PARAM] name:
属性の名前を指定します。

[SEE_ALSO] Gem::Specification.attribute

array_attributes -> Array[permalink][rdoc]

@@array_attributes の複製を返します。

[SEE_ALSO] Object#dup

attribute(name) -> ()[permalink][rdoc]

デフォルト値を指定したアクセサを定義するために使用します。

以下の副作用があります。

attribute_alias_singular(singular, plural) -> ()[permalink][rdoc]

既に存在する複数形の属性の単数形バージョンを定義します。

これは単に一つの引数を受け取りそれを配列に追加するようなヘルパーメソッドを定義するということです。

例:

# このように定義すると
attribute_alias_singular :require_path, :require_paths
# こう書くかわりに
s.require_paths = ['mylib']
# こう書くことができます。
s.require_path = 'mylib'
[PARAM] singular:
属性名の単数形を指定します。
[PARAM] plural:
属性名の複数形を指定します。
attribute_defaults -> Array[permalink][rdoc]

[TODO]

@@attributes の複製を返します。

attribute_names -> Array[permalink][rdoc]

属性名の配列を返します。

attributes(*args) -> ()[permalink][rdoc]

複数の属性を一度に作成するために使用します。

各属性のデフォルト値は nil になります。

[PARAM] args:
属性名を一つ以上指定します。
default_value(name) -> object[permalink][rdoc]

与えられた名前の属性のデフォルト値を返します。

[PARAM] name:
属性名を指定します。
from_yaml(input) -> Gem::Specification[permalink][rdoc]

YAML ファイルから gemspec をロードします。

YAML ファイルから Gem::Specification をロードすると、通常の Ruby オブジェクトの 初期化ルーチン (#initialize) を通りません。このメソッドは初期化ルーチンの一部を実行し、 gemspec のバージョンチェックも行います。

[PARAM] input:
文字列か IO オブジェクトを指定します。
list -> Array[permalink][rdoc]

実行中の Ruby のインスタンスで作成された Gem::Specification のインスタンスを返します。

load(filename) -> Gem::Specification[permalink][rdoc]

gemspec ファイルをロードします。

[PARAM] filename:
gemspec のファイル名を指定します。
[EXCEPTION] StandardError:
gemspec ファイル内でこのメソッドを呼んでいる場合に発生します。
normalize_yaml_input(input) -> String[permalink][rdoc]

YAML 形式の gemspec を正しくフォーマットします。

[PARAM] input:
文字列か IO オブジェクトを指定します。
overwrite_accessor(name) { ... } -> ()[permalink][rdoc]

呼び出し時に特別な動作をする必要のある属性があります。 このメソッドはそういうことを可能にします。

ブロックパラメータは任意のものを使用することができます。

[PARAM] name:
属性名を指定します。
read_only(*names) -> ()[permalink][rdoc]

与えられた属性名を読み取り専用にします。

[PARAM] names:
属性名を一つ以上指定します。
required_attribute(name, default = nil) -> ()[permalink][rdoc]

必須の属性を作成します。

[PARAM] name:
属性名を指定します。
[PARAM] default:
デフォルト値を指定します。

[SEE_ALSO] Gem::Specification.attribute

required_attribute?(name) -> bool[permalink][rdoc]

必須属性であれば真を返します。

[PARAM] name:
属性名を指定します。
required_attributes -> Array[permalink][rdoc]

必須属性のリストを返します。

インスタンスメソッド

_dump -> String[permalink][rdoc]

重要なインスタンス変数のみを Marshal.#dump します。

[SEE_ALSO] Marshal.#dump

add_bindir(executables) -> Array | nil[permalink][rdoc]

実行コマンドの格納場所を返します。

[PARAM] executables:
実行コマンド名を格納した配列を指定します。
add_dependency[permalink][rdoc]

[TODO]

add_development_dependency(gem, *requirements) -> Array[permalink][rdoc]
add_runtime_dependency(gem, *requirements) -> Array

[TODO]

この Gem を実行するための依存関係を追加します。

例:

spec.add_runtime_dependency('jabber4r', '> 0.1', '<= 0.5')
[PARAM] gem:
依存する Gem の名前か Gem::Dependency のインスタンスを指定します。
[PARAM] requirements:
バージョンの必須条件を指定します。デフォルトは ">= 0" です。

[SEE_ALSO] Gem::Dependency

assign_defaults -> ()[permalink][rdoc]

全ての属性にデフォルト値をセットします。

これはアクセサメソッドを使用して行われるので、ブロックを用いた特別な初期化も きちんと実行されます。セットされる値はデフォルト値のコピーです。

author -> String[permalink][rdoc]

作成者の名前を返します。

author=(name)[permalink][rdoc]

作成者の名前をセットします。

authors -> Array[permalink][rdoc]

作成者の名前の配列を返します。

authors=(names)[permalink][rdoc]

作成者の名前の配列をセットします。

autorequire -> String[permalink][rdoc]

非推奨の属性です。

autorequire=(lib)[permalink][rdoc]

非推奨の属性です。

bindir -> String[permalink][rdoc]

実行ファイルを格納するディレクトリを返します。

bindir=(dir)[permalink][rdoc]

実行ファイルを格納するディレクトリをセットします。

[PARAM] dir:
実行ファイルを格納するディレクトリを指定します。デフォルトは "bin" です。
cert_chain -> Array[permalink][rdoc]

[TODO]

cert_chain=(arr)[permalink][rdoc]

[TODO]

[PARAM] arr:
デフォルトは空の配列です。
date -> Time[permalink][rdoc]

日付を返します。

date=(date)[permalink][rdoc]
[PARAM] date:
日付をセットします。デフォルトは今日です。
default_executable -> String | nil[permalink][rdoc]

Gem パッケージ内で gem コマンド経由で実行するファイルを返します。

default_executable=(executable)[permalink][rdoc]

Gem パッケージ内で gem コマンド経由で実行するファイルをセットします。

[PARAM] executable:
実行ファイルを指定します。
dependencies -> Array[permalink][rdoc]

依存している Gem のリストを返します。

[SEE_ALSO] Gem::Dependency

dependent_gems -> Array[permalink][rdoc]

この Gem に依存している全ての Gem の情報のリストを返します。

それぞれのエントリは配列になっており、各要素は以下のようになっています。

  1. Gem::Specification
  2. Gem::Dependency
  3. Gem::Specification の配列
description -> String[permalink][rdoc]

Gem パッケージの説明を返します。

description=(desc)[permalink][rdoc]

Gem パッケージの説明をセットします。

[PARAM] desc:
パッケージの詳細を説明する文章を指定します。
development_dependencies -> Array[permalink][rdoc]

この Gem が依存している Gem のリストを返します。

email -> String[permalink][rdoc]

メールアドレスを返します。

email=(email)[permalink][rdoc]

メールアドレスをセットします。

[PARAM] email:
メールアドレスを指定します。
executable -> String[permalink][rdoc]

実行可能ファイル名を返します。

executable=(executable)[permalink][rdoc]

実行可能ファイル名をセットします。

[PARAM] executable:
実行可能ファイル名を指定します。
executables -> [String][permalink][rdoc]

実行可能ファイル名のリストを返します。

executables=(executables)[permalink][rdoc]

実行可能ファイル名のリストをセットします。

[PARAM] executables:
実行可能ファイル名のリストを指定します。
extensions -> [String][permalink][rdoc]

拡張ライブラリをコンパイルするために必要な extconf.rb 形式のファイルのリストを返します。

extensions=(paths)[permalink][rdoc]

拡張ライブラリをコンパイルするために必要な extconf.rb 形式のファイルのリストをセットします。

[PARAM] paths:
拡張ライブラリをコンパイルするために必要な extconf.rb 形式のファイルのリストを指定します。
extra_rdoc_files -> [String][permalink][rdoc]

RDoc でドキュメントを作成する際に使用する特別なファイルのリストを返します。

extra_rdoc_files=(paths)[permalink][rdoc]

RDoc でドキュメントを作成する際に使用する特別なファイルのリストをセットします。

[PARAM] paths:
RDoc でドキュメントを作成する際に使用する特別なファイルのリストを指定します。
file_name -> String[permalink][rdoc]

生成される Gem パッケージの名前を返します。

files -> [String][permalink][rdoc]

この Gem パッケージに含まれるファイル名の配列を返します。

files=(files)[permalink][rdoc]

この Gem パッケージに含まれるファイル名の配列をセットします。

[PARAM] files:
この Gem パッケージに含まれるファイル名の配列を指定します。
full_gem_path -> String[permalink][rdoc]

この Gem パッケージへのフルパスを返します。

full_name -> String[permalink][rdoc]

この Gem パッケージのバージョンを含む完全な名前 (name-version) を返します。

プラットフォームの情報が指定されている場合は、それも含みます (name-version-platform)。

has_rdoc -> bool[permalink][rdoc]

真の場合は RDoc を生成しせん。偽の場合は RDoc を生成します。

has_rdoc=(flag)[permalink][rdoc]

RDoc を生成するかどうかをセットします。デフォルトは偽です。

has_rdoc? -> bool[permalink][rdoc]

真の場合は RDoc を生成しせん。偽の場合は RDoc を生成します。

[SEE_ALSO] Gem::Specification#has_rdoc

has_test_suite? -> bool[permalink][rdoc]

このメソッドは非推奨です。 Gem::Specification#has_unit_tests? を使用してください。

has_unit_tests? -> bool[permalink][rdoc]

この Gem パッケージがユニットテストを含むかどうか返します。

真の場合はユニットテストを含みます。そうでない場合は偽を返します。

homepage -> String[permalink][rdoc]

この Gem パッケージを作成しているプロジェクトか作成者のウェブサイトの URI を返します。

homepage=(uri)[permalink][rdoc]

この Gem パッケージを作成しているプロジェクトか作成者のウェブサイトの URI をセットします。

[PARAM] uri:
この Gem パッケージを作成しているプロジェクトか作成者のウェブサイトの URI を指定します。
installation_path -> String[permalink][rdoc]

この Gem パッケージのインストール先のパスを返します。

lib_files -> [String][permalink][rdoc]

この Gem パッケージに含まれているファイルのうち Gem::Specification#require_paths 以下にあるファイルのリストを返します。

loaded=(flag)[permalink][rdoc]

この Gem パッケージの gemspec が既にロードされているかどうかをセットします。

この属性は永続化しません。

[PARAM] flag:
既にロードされている場合は真を指定します。
loaded? -> bool[permalink][rdoc]

この Gem パッケージの gemspec が既にロードされているかどうかを返します。

既にロードされている場合は真を返します。そうでない場合は偽を返します。

loaded_from -> String[permalink][rdoc]

この Gem パッケージの gemspec がある場所を返します。

この属性は永続化されません。

loaded_from=(path)[permalink][rdoc]

この Gem パッケージの gemspec がある場所をセットします。

[PARAM] path:
この Gem パッケージの gemspec がある場所を指定します。
mark_version -> String[permalink][rdoc]

RubyGems のバージョンを内部にセットします。

name -> String[permalink][rdoc]

この Gem パッケージの名前を返します。

name=(name)[permalink][rdoc]

この Gem パッケージの名前をセットします。

[PARAM] name:
この Gem パッケージの名前を指定します。
normalize -> [String][permalink][rdoc]

この Gem パッケージの含まれるファイルリストから重複を取り除きます。

original_name -> String[permalink][rdoc]

このメソッドは後方互換性のために残されています。

[SEE_ALSO] Gem::Specification#full_name

original_platform -> String[permalink][rdoc]

この属性は古いバージョンの Gem パッケージをアンインストールするために残されています。

original_platform=(platform)[permalink][rdoc]

この属性は古いバージョンの Gem パッケージをアンインストールするために残されています。

[PARAM] platform:
プラットフォームを指定します。
platform -> String[permalink][rdoc]

この Gem パッケージを使用できるプラットフォームを返します。

platform=(platform)[permalink][rdoc]

この Gem パッケージを使用できるプラットフォームをセットします。

[PARAM] platform:
この Gem パッケージを使用できるプラットフォームを指定します。 デフォルトは Gem::Platform::RUBY です。

[SEE_ALSO] Gem::Platform::RUBY

post_install_message -> String[permalink][rdoc]

インストール完了後に表示するメッセージを返します。

post_install_message=(message)[permalink][rdoc]

インストール完了後に表示するメッセージをセットします。

[PARAM] message:
メッセージを指定します。
rdoc_options -> [String][permalink][rdoc]

API ドキュメントを生成するときに rdoc コマンドに与えるオプションを返します。

rdoc_options=(options)[permalink][rdoc]

API ドキュメントを生成するときに rdoc コマンドに与えるオプションをセットします。

[PARAM] options:
API ドキュメントを生成するときに rdoc コマンドに与えるオプションを指定します。
require_path -> String[permalink][rdoc]

Gem::Specification#require_paths の単数バージョンです。

[SEE_ALSO] Gem::Specification#require_paths

require_path=(path)[permalink][rdoc]

Gem::Specification#require_paths= の単数バージョンです。

[PARAM] path:
この Gem パッケージを使用した際に require するファイルが置かれているディレクトリを指定します。

[SEE_ALSO] Gem::Specification#require_paths=

require_paths -> [String][permalink][rdoc]

この Gem パッケージを使用した際に require するファイルが置かれているディレクトリ のリストを返します。

require_paths=(paths)[permalink][rdoc]

この Gem パッケージを使用した際に require するファイルが置かれているディレクトリ のリストをセットします。

[PARAM] paths:
この Gem パッケージを使用した際に require するファイルが置かれているディレクトリ のリストを指定します。
required_ruby_version -> Gem::Requirement[permalink][rdoc]

この Gem パッケージを動作させるのに必要な Ruby のバージョンを返します。

required_ruby_version=(requirement)[permalink][rdoc]

この Gem パッケージを動作させるのに必要な Ruby のバージョンをセットします。

[PARAM] requirement:
Gem::Requirement.create が受け付ける形式のオブジェクトを指定します。

[SEE_ALSO] Gem::Requirement

required_rubygems_version -> Gem::Requirement[permalink][rdoc]

この Gem パッケージを動作させるのに必要な RubyGems のバージョンを返します。

required_rubygems_version=(requirement)[permalink][rdoc]

この Gem パッケージを動作させるのに必要な RubyGems のバージョンをセットします。

[PARAM] requirement:
Gem::Requirement.create が受け付ける形式のオブジェクトを指定します。

[SEE_ALSO] Gem::Requirement

requirements -> Array[permalink][rdoc]

この Gem パッケージを動作させるのに必要な条件を返します。 これはユーザのためのシンプルな情報です。

requirements=(informations)[permalink][rdoc]

この Gem パッケージを動作させるのに必要な条件をセットします。 これはユーザのためのシンプルな情報をセットします。

[PARAM] informations:
情報を文字列の配列で指定します。
rubyforge_project -> String[permalink][rdoc]

この Gem の RubyForge 上でのプロジェクト名を返します。

rubyforge_project=(project_name)[permalink][rdoc]

この Gem の RubyForge 上でのプロジェクト名をセットします。

[PARAM] project_name:
RubyForge 上のプロジェクト名を指定します。
rubygems_version -> String[permalink][rdoc]

この Gem パッケージを作成した RubyGems のバージョンを返します。

rubygems_version=(version)[permalink][rdoc]

この Gem パッケージを作成した RubyGems のバージョンをセットします。 この属性は Gem パッケージが作成された時に自動的にセットされます。

[PARAM] version:
RubyGems のバージョンを指定します。
runtime_dependencies -> Array[permalink][rdoc]

この Gem パッケージが依存している Gem パッケージのリストを返します。

satisfies_requirement?(dependency) -> bool[permalink][rdoc]

この Gem パッケージが与えられた依存関係を満たすかどうかを返します。

依存関係を満たす場合は真を返します。そうでない場合は偽を返します。

[PARAM] dependency:
チェックしたい依存関係を指定します。

[SEE_ALSO] Gem::Dependency

signing_key -> String[permalink][rdoc]

この Gem パッケージの署名に使用するキーを返します。

signing_key=(key)[permalink][rdoc]

この Gem パッケージの署名に使用するキーをセットします。

[PARAM] key:
署名に使用するキーを指定します。
specification_version -> Integer[permalink][rdoc]

この Gem パッケージに用いられている gemspec のバージョンを返します。

specification_version=(version)[permalink][rdoc]

この Gem パッケージに用いられている gemspec のバージョンをセットします。

[PARAM] version:
gemspec のバージョンを指定します。

[SEE_ALSO] Gem::Specification::SPECIFICATION_VERSION_HISTORY

summary -> String[permalink][rdoc]

この Gem パッケージの短い説明を返します。

summary=(summary)[permalink][rdoc]

この Gem パッケージの短い説明をセットします。

[PARAM] summary:
短い説明を指定します。
test_file -> String[permalink][rdoc]

Gem::Specification#test_files の単数バージョンです。

test_file=(file)[permalink][rdoc]

Gem::Specification#test_files= の単数バージョンです。

test_files -> [String][permalink][rdoc]

ユニットテストのファイルのリストを返します。

test_files=(files)[permalink][rdoc]

ユニットテストのファイルのリストをセットします。

[PARAM] files:
ユニットテストのファイルのリストを指定します。
test_suite_file -> String[permalink][rdoc]

この属性は非推奨です。 Gem::Specification#test_files を使用してください。

test_suite_file=(file)[permalink][rdoc]

この属性は非推奨です。 Gem::Specification#test_files= を使用してください。

[PARAM] file:
テストスイートのファイルを指定します。
to_ruby -> String[permalink][rdoc]

自身を再現するための Ruby スクリプトを文字列で返します。

省略されている値はデフォルト値が使用されます。

validate -> bool[permalink][rdoc]

必須属性のチェックと自身の基本的な正当性チェックを行います。

チェックにパスした場合は常に true を返します。そうでない場合は例外が発生します。

[EXCEPTION] Gem::InvalidSpecificationException:
チェックにパスしなかった場合に発生します。
version -> Gem::Version[permalink][rdoc]

この Gem パッケージのバージョンを返します。

version=(version)[permalink][rdoc]

この Gem パッケージのバージョンをセットします。

[PARAM] version:
バージョンを文字列か Gem::Version のインスタンスで指定します。
yaml_initialize[permalink][rdoc]

[TODO]

定数

CURRENT_SPECIFICATION_VERSION -> 2[permalink][rdoc]

現在の gemspec のバージョンを表す定数です。

MARSHAL_FIELDS -> Hash[permalink][rdoc]

[TODO]

NONEXISTENT_SPECIFICATION_VERSION -> -1[permalink][rdoc]

明確に指定されていない時の gemspec のバージョンを表します。

SPECIFICATION_VERSION_HISTORY -> Hash[permalink][rdoc]

gemspec ファイルのバージョンの歴史を表す定数です。

TODAY -> Time[permalink][rdoc]

本日の日付を返します。