Sha256: 94efc575988616e5a919ccf259bb52e7c9240cb04c4b58b5e0675daf4a72ba0d
Contents?: true
Size: 1.14 KB
Versions: 12
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true require "socket" module Byebug module Remote # # Client for remote debugging # class Client attr_reader :interface, :socket def initialize(interface) @interface = interface @socket = nil end # # Connects to the remote byebug # def start(host = "localhost", port = PORT) connect_at(host, port) while (line = socket.gets) case line when /^PROMPT (.*)$/ input = interface.read_command(Regexp.last_match[1]) break unless input socket.puts input when /^CONFIRM (.*)$/ input = interface.readline(Regexp.last_match[1]) break unless input socket.puts input else interface.puts line end end socket.close end def started? !socket.nil? end private def connect_at(host, port) interface.puts "Connecting to byebug server at #{host}:#{port}..." @socket = TCPSocket.new(host, port) interface.puts "Connected." end end end end
Version data entries
12 entries across 12 versions & 5 rubygems