Support for the Ruby 2.4 series has ended. See here for reference.
Provides a few commands for loading files within an irb session.
See ExtendCommandBundle for more information.
Loads the given file similarly to Kernel#load
# File irb/ext/loader.rb, line 27
def irb_load(fn, priv = nil)
path = search_file_from_ruby_path(fn)
raise LoadError, "No such file to load -- #{fn}" unless path
load_file(path, priv)
end
Loads the given file in the current session's context and evaluates it.
See Irb#suspend_input_method for more information.
# File irb/ext/loader.rb, line 73
def load_file(path, priv = nil)
irb.suspend_name(path, File.basename(path)) do
if priv
ws = WorkSpace.new(Module.new)
else
ws = WorkSpace.new
end
irb.suspend_workspace(ws) do
irb.suspend_input_method(FileInputMethod.new(path)) do
|back_io|
irb.signal_status(:IN_LOAD) do
if back_io.kind_of?(FileInputMethod)
irb.eval_input
else
begin
irb.eval_input
rescue LoadAbort
print "load abort!!\n"
end
end
end
end
end
end
end
Loads a given file in the current session and displays the source lines
See Irb#suspend_input_method for more information.
# File irb/ext/loader.rb, line 51
def source_file(path)
irb.suspend_name(path, File.basename(path)) do
irb.suspend_input_method(FileInputMethod.new(path)) do
|back_io|
irb.signal_status(:IN_LOAD) do
if back_io.kind_of?(FileInputMethod)
irb.eval_input
else
begin
irb.eval_input
rescue LoadAbort
print "load abort!!\n"
end
end
end
end
end
end