Sha256: f5bc242eb27124494c5951d10867e48e943b334fd4c149dfa3576e03e61b2667
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
module Debugger class LocalInterface def read_command(prompt) readline(prompt, true) end def confirm(prompt) readline(prompt, false) end def print(*args) STDOUT.printf(*args) end def close end private begin require 'readline' def readline(prompt, hist) Readline::readline(prompt, hist) end rescue LoadError def readline(prompt, hist) STDOUT.print prompt STDOUT.flush line = STDIN.gets exit unless line line.chomp! line end USE_READLINE = false end end class RemoteInterface def initialize(socket) @socket = socket end def read_command(prompt) send_command "PROMPT #{prompt}" end def confirm(prompt) send_command "CONFIRM #{prompt}" end def print(*args) @socket.printf(*args) end def close @socket.close rescue Exception end private def send_command(msg) @socket.puts msg result = @socket.gets raise IOError unless result result.chomp end end end
Version data entries
4 entries across 4 versions & 1 rubygems