Sha256: 38a5fe3bd7accff4bd293b9bc3e588542a9a02baf18973a0df59f06aec60c49d

Contents?: true

Size: 1.09 KB

Versions: 4

Compression:

Stored size: 1.09 KB

Contents

require_relative "irbtools/configure"
require_relative "irbtools/commands"

require "irb"

# # # # #
# Load: start
Irbtools.load_libraries(Irbtools.libraries[:start])

# # # # #
# Load: autoload
Irbtools.libraries[:autoload].each{ |constant, lib_name, gem_name|
  gem(gem_name)
  autoload(constant, lib_name)
  Irbtools.library_loaded(lib_name)
}

# # # # #
# Misc: Apply IRB options
Irbtools.configure_irb!

# # # # #
# Load: sub-session / after_rc
original_irbrc_proc = IRB.conf[:IRB_RC]
IRB.conf[:IRB_RC] = proc{
  Irbtools.load_libraries(Irbtools.libraries[:sub_session])
  original_irbrc_proc.call if original_irbrc_proc
}

# # # # #
# Load: threads
threads = []
Irbtools.libraries[:thread].each{ |_,libs|
  threads << Thread.new do
    Irbtools.load_libraries(libs)
  end
}

threads.map(&:join)

# # # # #
# Load: late
Irbtools.load_libraries(Irbtools.libraries[:late])

# # # # #
# Load: late_threads
Irbtools.libraries[:late_thread].each{ |_,libs|
  t = Thread.new do
    Irbtools.load_libraries(libs)
  end
  t.abort_on_exception = true
}

# # # # #
# Done
if msg = Irbtools.welcome_message
  puts msg
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
irbtools-4.0.11 lib/irbtools.rb
irbtools-4.0.10 lib/irbtools.rb
irbtools-4.0.9 lib/irbtools.rb
irbtools-4.0.8 lib/irbtools.rb