class RuboCop::Git::StyleChecker

ref. github.com/thoughtbot/hound/blob/d2f3933/app/models/style_checker.rb

Public Class Methods

new(modified_files, rubocop_options, config_file, custom_config = nil) click to toggle source
# File lib/rubocop/git/style_checker.rb, line 4
def initialize(modified_files,
               rubocop_options,
               config_file,
               custom_config = nil)
  @modified_files = modified_files
  @rubocop_options = rubocop_options
  @config_file = config_file
  @custom_config = custom_config
end

Public Instance Methods

violations() click to toggle source
# File lib/rubocop/git/style_checker.rb, line 14
def violations
  file_violations = @modified_files.map do |modified_file|
    FileViolation.new(modified_file.absolute_path, offenses(modified_file))
  end

  file_violations.select do |file_violation|
    file_violation.offenses.any?
  end
end

Private Instance Methods

offenses(modified_file) click to toggle source
# File lib/rubocop/git/style_checker.rb, line 26
def offenses(modified_file)
  violations = style_guide.violations(modified_file)
  violations_on_changed_lines(modified_file, violations)
end
style_guide() click to toggle source
# File lib/rubocop/git/style_checker.rb, line 37
def style_guide
  @style_guide ||= StyleGuide.new(@rubocop_options,
                                  @config_file,
                                  @custom_config)
end
violations_on_changed_lines(modified_file, violations) click to toggle source
# File lib/rubocop/git/style_checker.rb, line 31
def violations_on_changed_lines(modified_file, violations)
  violations.select do |violation|
    modified_file.relevant_line?(violation.line)
  end
end