Extends methods for the Context module
Evaluate the given command from the given
load_file on the Context module.
Will also define any given aliases for the method.
# File irb/extend-command.rb, line 259
def self.def_extend_command(cmd_name, load_file, *aliases)
line = __LINE__; Context.module_eval %Q[
def #{cmd_name}(*opts, &b)
Context.module_eval {remove_method(:#{cmd_name})}
require "#{load_file}"
send :#{cmd_name}, *opts, &b
end
for ali in aliases
alias_method ali, cmd_name
end
], __FILE__, line
end
Installs the default context extensions as irb commands:
irb/ext/history.rb
irb/ext/tracer.rb
irb/ext/use-loader.rb
irb/ext/save-history.rb
# File irb/extend-command.rb, line 249
def self.install_extend_commands
for args in @EXTEND_COMMANDS
def_extend_command(*args)
end
end