Module: Crabfarm::Modes::Console

Defined in:
lib/crabfarm/modes/console.rb

Defined Under Namespace

Modules: Colors Classes: ConsoleDsl

Class Method Summary collapse

Class Method Details

.process_input(_context) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/crabfarm/modes/console.rb', line 83

def self.process_input(_context)
  dsl = ConsoleDsl.new Engines::SyncStateManager.new _context

  loop do
    begin
      output = dsl.instance_eval Readline.readline("> ", true)
      puts output.inspect unless output.nil?
    rescue SyntaxError => se
      puts "Syntax error: #{se.message}".color(Colors::ERROR)
    rescue SystemExit, Interrupt
      break
    rescue => e
      puts "#{e.to_s}".color(Colors::ERROR)
      puts e.backtrace
    end
  end

  puts "Exiting".color(Colors::NOTICE)
end