Module: IRB::ContextExtender
- Defined in:
- lib/irb/extend-command.rb
Overview
Extends methods for the Context module
Constant Summary collapse
- CE =
:nodoc:
ContextExtender
Class Method Summary collapse
-
.def_extend_command(cmd_name, load_file, *aliases) ⇒ Object
Evaluate the given
command
from the givenload_file
on the Context module. -
.install_extend_commands ⇒ Object
Installs the default context extensions as irb commands:.
Class Method Details
.def_extend_command(cmd_name, load_file, *aliases) ⇒ Object
Evaluate the given command
from the given load_file
on the Context module.
Will also define any given aliases
for the method.
339 340 341 342 343 344 345 346 347 348 349 350 |
# File 'lib/irb/extend-command.rb', line 339 def self.def_extend_command(cmd_name, load_file, *aliases) line = __LINE__; Context.module_eval %[ def #{cmd_name}(*opts, &b) Context.module_eval {remove_method(:#{cmd_name})} require_relative "#{load_file}" __send__ :#{cmd_name}, *opts, &b end for ali in aliases alias_method ali, cmd_name end ], __FILE__, line end |
.install_extend_commands ⇒ Object
Installs the default context extensions as irb commands:
- Context#eval_history=
-
irb/ext/history.rb
- Context#use_tracer=
-
irb/ext/tracer.rb
- Context#use_loader=
-
irb/ext/use-loader.rb
329 330 331 332 333 |
# File 'lib/irb/extend-command.rb', line 329 def self.install_extend_commands for args in @EXTEND_COMMANDS def_extend_command(*args) end end |