class RuboCop::Git::Runner
ref. github.com/thoughtbot/hound/blob/d2f3933/app/services/build_runner.rb
Public Instance Methods
run(options)
click to toggle source
# File lib/rubocop/git/runner.rb, line 7 def run(options) options = Options.new(options) unless options.is_a?(Options) @options = options @files = DiffParser.parse(git_diff(options)) display_violations($stdout) exit(1) if violated? end
Private Instance Methods
display_violations(io)
click to toggle source
# File lib/rubocop/git/runner.rb, line 45 def display_violations(io) formatter = RuboCop::Formatter::ClangStyleFormatter.new(io) formatter.started(nil) violations.map do |violation| offenses = violation.offenses offenses = offenses.reject(&:disabled?) if offenses.first.respond_to?(:disabled?) formatter.file_finished( violation.filename, offenses.compact.sort.freeze ) end formatter.finished(@files.map(&:filename).freeze) end
git_diff(options)
click to toggle source
# File lib/rubocop/git/runner.rb, line 35 def git_diff(options) args = %w(diff --diff-filter=AMCR --find-renames --find-copies) args << '--cached' if options.cached args << options.commit_first.shellescape if options.commit_first args << options.commit_last.shellescape if options.commit_last `git #{args.join(' ')}` end
pull_request()
click to toggle source
# File lib/rubocop/git/runner.rb, line 31 def pull_request @pull_request ||= PseudoPullRequest.new(@files, @options) end
style_checker()
click to toggle source
# File lib/rubocop/git/runner.rb, line 24 def style_checker StyleChecker.new(pull_request.pull_request_files, @options.rubocop, @options.config_file, pull_request.config) end
violated?()
click to toggle source
# File lib/rubocop/git/runner.rb, line 61 def violated? violations.any? do |violation| offenses = violation.offenses offenses = offenses.reject(&:disabled?) if offenses.first.respond_to?(:disabled?) offenses && offenses.length > 0 end end
violations()
click to toggle source
# File lib/rubocop/git/runner.rb, line 20 def violations @violations ||= style_checker.violations end