Sha256: 59be1d3710606be17e718dfc4ef6a234326fefc30113b4e1004f18b80380e19a
Contents?: true
Size: 1.52 KB
Versions: 3
Compression:
Stored size: 1.52 KB
Contents
require 'irb' require 'aruba/api' require 'aruba/console/help' module Aruba class Console # rubocop:disable Metrics/MethodLength def start # Start IRB with current context: # http://stackoverflow.com/questions/4189818/how-to-run-irb-start-in-context-of-current-class ARGV.clear IRB.setup nil IRB.conf[:PROMPT] = {} IRB.conf[:IRB_NAME] = 'aruba' IRB.conf[:PROMPT][:ARUBA] = { :PROMPT_I => '%N:%03n:%i> ', :PROMPT_N => '%N:%03n:%i> ', :PROMPT_S => '%N:%03n:%i%l ', :PROMPT_C => '%N:%03n:%i* ', :RETURN => "# => %s\n" } IRB.conf[:PROMPT_MODE] = :ARUBA IRB.conf[:RC] = false require 'irb/completion' require 'irb/ext/save-history' IRB.conf[:READLINE] = true IRB.conf[:SAVE_HISTORY] = 1000 IRB.conf[:HISTORY_FILE] = Aruba.config.console_history_file # rubocop:disable Lint/NestedMethodDefinition context = Class.new do include Aruba::Api include Aruba::Console::Help def initialize setup_aruba end def inspect 'nil' end end # rubocop:enable Lint/NestedMethodDefinition irb = IRB::Irb.new(IRB::WorkSpace.new(context.new)) IRB.conf[:MAIN_CONTEXT] = irb.context trap("SIGINT") do IRB.irb.signal_handle end begin catch(:IRB_EXIT) do irb.eval_input end ensure IRB.irb_at_exit end end # rubocop:enable Metrics/MethodLength end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aruba-0.9.0 | lib/aruba/console.rb |
aruba-0.9.0.pre2 | lib/aruba/console.rb |
aruba-0.9.0.pre | lib/aruba/console.rb |