Sha256: c37e2f03f42e8999686263fcedf335027d90632d0c4c108d6ae5558c30a8efa2

Contents?: true

Size: 1.05 KB

Versions: 8

Compression:

Stored size: 1.05 KB

Contents

require_relative 'irbtools/configure'
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

8 entries across 8 versions & 1 rubygems

Version Path
irbtools-4.0.7 lib/irbtools.rb
irbtools-4.0.6 lib/irbtools.rb
irbtools-4.0.5 lib/irbtools.rb
irbtools-4.0.4 lib/irbtools.rb
irbtools-4.0.3 lib/irbtools.rb
irbtools-4.0.2 lib/irbtools.rb
irbtools-4.0.1 lib/irbtools.rb
irbtools-4.0.0 lib/irbtools.rb