Class: SporkDebugger::EachRunState
- Inherits:
-
Object
- Object
- SporkDebugger::EachRunState
- Includes:
- NetworkHelpers
- Defined in:
- lib/spork/ext/ruby-debug.rb
Instance Method Summary collapse
-
#initialize(connection_request_port) ⇒ EachRunState
constructor
A new instance of EachRunState.
- #prepare_debugger ⇒ Object
- #signal_spork_server_to_connect_to_rdebug_server(rdebug_server_port) ⇒ Object
- #start_rdebug_server ⇒ Object
Methods included from NetworkHelpers
Constructor Details
#initialize(connection_request_port) ⇒ EachRunState
Returns a new instance of EachRunState.
106 107 108 |
# File 'lib/spork/ext/ruby-debug.rb', line 106 def initialize(connection_request_port) @connection_request_port = connection_request_port end |
Instance Method Details
#prepare_debugger ⇒ Object
110 111 112 113 114 115 116 117 |
# File 'lib/spork/ext/ruby-debug.rb', line 110 def prepare_debugger return if @debugger_prepared @debugger_prepared = true port, cport = start_rdebug_server signal_spork_server_to_connect_to_rdebug_server(port) wait_for_connection puts "\n\n - breakpoint - see your spork server for the debug terminal - \n\n" end |
#signal_spork_server_to_connect_to_rdebug_server(rdebug_server_port) ⇒ Object
119 120 121 122 123 124 |
# File 'lib/spork/ext/ruby-debug.rb', line 119 def signal_spork_server_to_connect_to_rdebug_server(rdebug_server_port) socket = TCPSocket.new(SporkDebugger::HOST, @connection_request_port) Marshal.dump(rdebug_server_port, socket) response = Marshal.load(socket) socket.close end |
#start_rdebug_server ⇒ Object
126 127 128 129 130 131 132 133 134 135 |
# File 'lib/spork/ext/ruby-debug.rb', line 126 def start_rdebug_server Debugger.stop if Debugger.started? port = find_port(Debugger::PORT) cport = find_port(port + 1) Debugger.start_remote(SporkDebugger::HOST, [port, cport]) do Debugger.run_init_script(StringIO.new) end Debugger.start [port, cport] end |