Module: Satorix::CI::Test::Ruby::Rubocop

Extended by:
Rubocop
Includes:
Shared::Console
Included in:
Rubocop
Defined in:
lib/satorix/CI/test/ruby/rubocop.rb

Instance Method Summary collapse

Methods included from Shared::Console

#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_configObject



29
30
31
32
33
34
35
36
37
38
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 29

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

#goObject



14
15
16
17
18
19
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 14

def go
  log_bench('Displaying current Ruby version...') { run_command 'ruby -v' }
  log_bench('Installing Rubocop...') { install_gems }
  log_bench('Configuring Rubocop...') { create_rubocop_config }
  log_bench('Running Rubocop inspection...') { run_scan }
end

#install_gemsObject



22
23
24
25
26
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 22

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_scanObject



41
42
43
# File 'lib/satorix/CI/test/ruby/rubocop.rb', line 41

def run_scan
  run_command "rubocop --require rubocop-performance #{ '--require rubocop-rails ' if Satorix.rails_app? }--display-cop-names --extra-details --display-style-guide --parallel"
end