要約
irb のコマンドを拡張するためのモジュールです。
目次
- 特異メソッド
- インスタンスメソッド
- 追加されるメソッド
- 定数
特異メソッド
def_extend_command(cmd_name, cmd_class, load_file = nil, *aliases) -> objectRuby 3.4 で削除[permalink][rdoc][edit]-
irb に cmd_name で指定したメソッドが実行できるように拡張します。
- [PARAM]
cmd_name: - メソッド名を Symbol か文字列で指定します。 cmd_class で指定するクラスの execute メソッドとして定義してある必要があります。
- [PARAM]
cmd_class: -
指定した拡張が定義されたクラス名を Symbol、
String、Class のいずれかで指定します。なお、このクラスは
IRB::ExtendCommand以下で定義する必要があります。 - [PARAM]
load_file: - 指定したメソッドが定義されたファイル名を指定します。このファイルは自動的に require されます。
- [PARAM]
aliases: - cmd_name の別名を Symbol とフラグの配列で指定します。複数指定する事ができます。フラグは IRB::ExtendCommandBundle::NO_OVERRIDE、 IRB::ExtendCommandBundle::OVERRIDE_PRIVATE_ONLY、 IRB::ExtendCommandBundle::OVERRIDE_ALL のいずれかを指定します。
- [PARAM]
extend_object(obj) -> IRB::ExtendCommandBundleRuby 3.4 で削除[permalink][rdoc][edit]-
IRB::ExtendCommandBundle で定義済みの拡張に指定されたエイリアスを obj に定義します。
- [PARAM]
obj: - IRB::ExtendCommandBundle を extend したオブジェクト
- [PARAM]
install_extend_commands -> objectRuby 3.4 で削除[permalink][rdoc][edit]-
定義済みの拡張を読み込みます。
irb で以下のメソッドが利用できるようになります。(それぞれ 1 つだけ抜粋)
- irb_current_working_workspace
- irb_change_workspace
- irb_workspaces
- irb_push_workspace
- irb_pop_workspace
- irb_load
- irb_require
- irb_source
- irb
- irb_jobs
- irb_fg
- irb_kill
- irb_help
irb/extend-command が require された時にライブラリ内部で自動的に実行されます。
irb_original_method_name(method_name) -> StringRuby 3.4 で削除[permalink][rdoc][edit]-
method_name で指定したメソッドの irb 中でのエイリアスを返します。ライブラリ内部で使用します。
- [PARAM]
method_name: - メソッド名を Symbol か文字列で指定します。
- [PARAM]
インスタンスメソッド
install_alias_method(to, from, override = NO_OVERRIDE)Ruby 3.4 で削除[permalink][rdoc][edit]-
メソッドのエイリアスを定義します。ライブラリ内部で使用します。
- [PARAM]
to: - 新しいメソッド名を Symbol か文字列で指定します。
- [PARAM]
from: - 元のメソッド名を Symbol か文字列で指定します。
- [PARAM]
override: - 新しいメソッド名が定義済みであった場合にそのメソッドを上書きするかどうかを IRB::ExtendCommandBundle::NO_OVERRIDE、 IRB::ExtendCommandBundle::OVERRIDE_PRIVATE_ONLY、 IRB::ExtendCommandBundle::OVERRIDE_ALL のいずれかで指定します。
- [PARAM]
irb_context -> IRB::ContextRuby 3.4 で削除[permalink][rdoc][edit]-
現在の irb に関する IRB::Context を返します。
irb_exit(ret = 0) -> objectRuby 3.4 で削除[permalink][rdoc][edit]-
irb を終了します。ret で指定したオブジェクトを返します。
- [PARAM]
ret: - 戻り値を指定します。
ユーザが直接使用するものではありません。
- [PARAM]
追加されるメソッド
irb_load(*opts, &b) -> nilRuby 3.4 で削除[permalink][rdoc][edit] [added by irb/ext/use-loader]-
現在の irb に関する IRB::Context に対して irb_load コマンドを実行します。
[SEE_ALSO] IRB::ExtendCommand::Load#execute
irb_require(*opts, &b) -> boolRuby 3.4 で削除[permalink][rdoc][edit] [added by irb/ext/use-loader]-
現在の irb に関する IRB::Context に対して irb_require コマンドを実行します。
[SEE_ALSO] IRB::ExtendCommand::Require#execute
定数
NO_OVERRIDE -> 0Ruby 3.4 で削除[permalink][rdoc][edit]-
irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指定したメソッド名と同名のメソッドが定義済みであった場合、エイリアスを定義しない事を指定するフラグです。
[SEE_ALSO] IRB::ExtendCommandBundle.def_extend_command
OVERRIDE_ALL -> 1Ruby 3.4 で削除[permalink][rdoc][edit]-
irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指定したメソッド名と同名のメソッドが定義済みであった場合でも、常にエイリアスを定義する事を指定するフラグです。
[SEE_ALSO] IRB::ExtendCommandBundle.def_extend_command
OVERRIDE_PRIVATE_ONLY -> 2Ruby 3.4 で削除[permalink][rdoc][edit]-
irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指定したメソッド名と同名の public メソッドが定義済みではなかった場合のみ、エイリアスを定義する事を指定するフラグです。
[SEE_ALSO] IRB::ExtendCommandBundle.def_extend_command