Sha256: 156ed2453fae2ac0e0e6bf46ed2111ae0b8f75d66abbe690fa6f1427e64d5169

Contents?: true

Size: 564 Bytes

Versions: 9

Compression:

Stored size: 564 Bytes

Contents

require 'irb'

# IRB module which is responsible to embed
# `irb` in `Susanoo` projects
module IRB
  # Start the `irb` session in given `binding`
  def self.start_session(binding)
    unless @__initialized
      args = ARGV
      ARGV.replace(ARGV.dup)
      IRB.setup(nil)
      ARGV.replace(args)
      @__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

    catch(:IRB_EXIT) do
      irb.eval_input
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
susanoo-0.14.0 lib/susanoo/irb.rb
susanoo-0.13.2 lib/susanoo/irb.rb
susanoo-0.13.1 lib/susanoo/irb.rb
susanoo-0.13.0 lib/susanoo/irb.rb
susanoo-0.12.3 lib/susanoo/irb.rb
susanoo-0.12.2 lib/susanoo/irb.rb
susanoo-0.12.1 lib/susanoo/irb.rb
susanoo-0.12.0 lib/susanoo/irb.rb
susanoo-0.11.1 lib/susanoo/irb.rb