Module: IRB
- Defined in:
- app/irb.rb
Overview
:nodoc:
Defined Under Namespace
Modules: ExtendCommand
Class Method Summary (collapse)
Class Method Details
+ (Object) start_session(binding, dbg_cmdproc, conf = {})
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'app/irb.rb', line 71 def self.start_session(binding, dbg_cmdproc, conf={}) unless @__initialized # Set to run the standard trepanx IRB profile irbrc = File.(File.join(File.dirname(__FILE__), %w(.. data irbrc))) ENV['IRBRC'] = irbrc args = ARGV.dup ARGV.replace([]) IRB.setup(nil) ARGV.replace(args) # If the user has a IRB profile, run that now. if ENV['TREPANX_IRB'] ENV['IRBRC'] = ENV['TREPANX_IRB'] @CONF[:RC_NAME_GENERATOR]=nil IRB.run_config end @__initialized = true end workspace = WorkSpace.new(binding) irb = Irb.new(workspace) @CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC] @CONF[:MAIN_CONTEXT] = irb.context conf.each {|k, v| @CONF[k] = v} # A copy of this back_trace_limit is already active. How? IRB.CurrentContext.back_trace_limit = @CONF[:BACK_TRACE_LIMIT] catch(:IRB_EXIT) do irb.eval_input end end |