class RuboCop::Server::ClientCommand::Start
@api private
This class is a client command to start server process.
def initialize(detach: true)
def initialize(detach: true) @detach = detach super() end
def run
def run if Server.running? warn "RuboCop server (#{Cache.pid_path.read}) is already running." return end Cache.acquire_lock do |locked| unless locked # Another process is already starting server, # so wait for it to be ready. Server.wait_for_running_status!(true) exit 0 end Cache.write_version_file(Cache.restart_key) host = ENV.fetch('RUBOCOP_SERVER_HOST', '127.0.0.1') port = ENV.fetch('RUBOCOP_SERVER_PORT', 0) Server::Core.new.start(host, port, detach: @detach) end end