Module: Satorix::CI::Test::Ruby::Rubocop
Instance Method Summary
collapse
#colorize, #colors, #humanize_time, #log, #log_bench, #log_command, #log_duration, #log_error, #log_error_and_abort, #log_header, #run_command, #source_env_from
Instance Method Details
#create_rubocop_config ⇒ Object
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 27
def create_rubocop_config
if config_exist?
log 'Using existing .rubocop.yml file from project.'
else
log 'A .rubocop.yml file was not found, generating a default configuration file for this project.'
content = Satorix.rails_app? ? config_content_rails : config_content_default
save_rubocop_config content
end
log 'For more information, please refer to https://www.satorix.com/docs/articles/app_using_ruby_on_rails#rubocop.'
end
|
#go ⇒ Object
12
13
14
15
16
17
|
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 12
def go
log_bench('Displaying current Ruby version...') { run_command(%w[ruby -v]) }
log_bench('Installing Rubocop...') { install_gems }
log_bench('Configuring Rubocop...') { create_rubocop_config }
log_bench('Running Rubocop inspection...') { run_scan }
end
|
#install_gems ⇒ Object
20
21
22
23
24
|
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 20
def install_gems
run_command(['gem', 'install', 'rubocop', '--no-document', '--bindir', Satorix.bin_dir])
run_command(['gem', 'install', 'rubocop-performance', '--no-document', '--bindir', Satorix.bin_dir])
run_command(['gem', 'install', 'rubocop-rails_config', '--no-document', '--bindir', Satorix.bin_dir]) if Satorix.rails_app?
end
|
#run_scan ⇒ Object
39
40
41
42
43
44
|
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 39
def run_scan
command = %w[rubocop --require rubocop-performance --display-cop-names --extra-details --display-style-guide --parallel]
command.concat(%w[--require rubocop-rails]) if Satorix.rails_app?
run_command(command)
end
|