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.

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.



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