class Prb::CommandRunner
Public Class Methods
new(opts)
click to toggle source
# File lib/prb/command_runner.rb, line 3 def initialize(opts) @opts = Opts.new(opts) end
Public Instance Methods
resume()
click to toggle source
# File lib/prb/command_runner.rb, line 22 def resume send_request('resume') end
start()
click to toggle source
# File lib/prb/command_runner.rb, line 7 def start if running?(@opts.port) puts "A prb server is already running." exit(1) end Process.daemon() if @opts.daemonize? app = Prb::Server.new(@opts) Rack::Server.start( app: app, Port: @opts.port ) end
stop()
click to toggle source
# File lib/prb/command_runner.rb, line 26 def stop send_request('stop') end
Private Instance Methods
running?(port)
click to toggle source
# File lib/prb/command_runner.rb, line 39 def running?(port) Timeout::timeout(1) do begin s = TCPSocket.new('0.0.0.0', port) s.close return true rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH return false end end end
send_request(endpoint)
click to toggle source
# File lib/prb/command_runner.rb, line 32 def send_request(endpoint) uri = URI.parse("http://0.0.0.0:#{@opts.port}/#{endpoint}") Net::HTTP.get_response(uri) rescue nil end