Class: RuboCop::Server::ServerCommand::Exec Private

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/server/server_command/exec.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

This class is a server command to execute ‘rubocop` command using `RuboCop::CLI.new#run`.

API:

  • private

Instance Method Summary collapse

Methods inherited from Base

inherited, #initialize

Constructor Details

This class inherits a constructor from RuboCop::Server::ServerCommand::Base

Instance Method Details

#runObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rubocop/server/server_command/exec.rb', line 18

def run
  Cache.status_path.delete if Cache.status_path.file?
  # RuboCop output is colorized by default where there is a TTY.
  # We must pass the --color option to preserve this behavior.
  @args.unshift('--color') unless %w[--color --no-color].any? { |f| @args.include?(f) }
  status = RuboCop::CLI.new.run(@args)
  # This status file is read by `rubocop --server` (`RuboCop::Server::ClientCommand::Exec`).
  # so that they use the correct exit code.
  # Status is 1 when there are any issues, and 0 otherwise.
  Cache.write_status_file(status)
rescue SystemExit
  Cache.write_status_file(1)
end