Sha256: 646c865f9978768f6af08c4da477e564c5e1f63f7a153fdc0737ce3d8f319ba4
Contents?: true
Size: 658 Bytes
Versions: 12
Compression:
Stored size: 658 Bytes
Contents
module Conveyor module Input class Console include Singleton def initialize end def listen save_tty_settings while line = Readline.readline('> ', true) handle line end rescue Interrupt => e restore_tty_settings exit end def handle(line) cmd = line.split(/\s+/) return if cmd.empty? if Commands.respond_to? cmd.first Commands.send(cmd.shift, cmd.join(' ')) else Commands.unknown(*cmd) end end def save_tty_settings @stty_save = `stty -g`.chomp end def restore_tty_settings system('stty', @stty_save); end end end end
Version data entries
12 entries across 12 versions & 1 rubygems