Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > irb/extend-commandライブラリ > IRB::ExtendCommandBundleモジュール

module IRB::ExtendCommandBundle

クラスの継承リスト: IRB::ExtendCommandBundle

要約

irb のコマンドを拡張するためのモジュールです。

目次

特異メソッド
def_extend_command extend_object install_extend_commands irb_original_method_name
インスタンスメソッド
install_alias_method irb_context irb_exit
定数
NO_OVERRIDE OVERRIDE_ALL OVERRIDE_PRIVATE_ONLY

特異メソッド

def_extend_command(cmd_name, cmd_class, load_file = nil, *aliases) -> object[permalink][rdoc]

irb に cmd_name で指定したメソッドが実行できるように拡張します。

[PARAM] cmd_name:
メソッド名を Symbol か文字列で指定します。 cmd_class で指定するクラスの execute メソッドとして定 義してある必要があります。
[PARAM] cmd_class:
指定した拡張が定義されたクラス名を SymbolStringClass のいずれかで指定します。 なお、このクラスは IRB::ExtendCommand 以下で定義 する必要があります。
[PARAM] load_file:
指定したメソッドが定義されたファイル名を指 定します。このファイルは自動的に require されます。
[PARAM] aliases:
cmd_name の別名を Symbol とフラグの配列で指定しま す。複数指定する事ができます。フラグは IRB::ExtendCommandBundle::NO_OVERRIDEIRB::ExtendCommandBundle::OVERRIDE_PRIVATE_ONLYIRB::ExtendCommandBundle::OVERRIDE_ALL のいずれか を指定します。
extend_object(obj) -> IRB::ExtendCommandBundle[permalink][rdoc]

IRB::ExtendCommandBundle で定義済みの拡張に指定されたエイリアスを obj に定義します。

[PARAM] obj:
IRB::ExtendCommandBundle を extend したオブジェクト
install_extend_commands -> object[permalink][rdoc]

定義済みの拡張を読み込みます。

irb で以下のメソッドが利用できるようになります。(それぞれ 1 つだけ抜粋)

irb/extend-command が require された時にライブラリ内部で自動的 に実行されます。

[SEE_ALSO] IRB::ExtendCommandBundle.install_extend_commands

irb_original_method_name(method_name) -> String[permalink][rdoc]

method_name で指定したメソッドの irb 中でのエイリアスを返します。ライブ ラリ内部で使用します。

[PARAM] method_name:
メソッド名を Symbol か文字列で指定します。

[SEE_ALSO] IRB::ExtendCommandBundle#install_alias_method

インスタンスメソッド

install_alias_method(to, from, override = NO_OVERRIDE)[permalink][rdoc]

メソッドのエイリアスを定義します。ライブラリ内部で使用します。

[PARAM] to:
新しいメソッド名を Symbol か文字列で指定します。
[PARAM] from:
元のメソッド名を Symbol か文字列で指定します。
[PARAM] override:
新しいメソッド名が定義済みであった場合にそのメソッドを 上書きするかどうかを IRB::ExtendCommandBundle::NO_OVERRIDEIRB::ExtendCommandBundle::OVERRIDE_PRIVATE_ONLYIRB::ExtendCommandBundle::OVERRIDE_ALL のいずれか で指定します。
irb_context -> IRB::Context[permalink][rdoc]

現在の irb に関する IRB::Context を返します。

irb_exit(ret = 0) -> object[permalink][rdoc]

irb を終了します。ret で指定したオブジェクトを返します。

[PARAM] ret:
戻り値を指定します。

ユーザが直接使用するものではありません。

定数

NO_OVERRIDE -> 0[permalink][rdoc]

irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指 定したメソッド名と同名のメソッドが定義済みであった場合、エイリアスを定 義しない事を指定するフラグです。

[SEE_ALSO] IRB::ExtendCommandBundle.def_extend_command

OVERRIDE_ALL -> 1[permalink][rdoc]

irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指 定したメソッド名と同名のメソッドが定義済みであった場合でも、常にエイリ アスを定義する事を指定するフラグです。

[SEE_ALSO] IRB::ExtendCommandBundle.def_extend_command

OVERRIDE_PRIVATE_ONLY -> 2[permalink][rdoc]

irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指 定したメソッド名と同名の public メソッドが定義済みではなかった場合のみ、 エイリアスを定義する事を指定するフラグです。

[SEE_ALSO] IRB::ExtendCommandBundle.def_extend_command