Class: FitCommit::Validators::CapitalizeSubject

Inherits:
Base
  • Object
show all
Defined in:
lib/fit_commit/validators/capitalize_subject.rb

Constant Summary collapse

MESSAGE =
"Begin all subject lines with a capital letter."
SINGLE_WORD =
/\A\w+\z/
AUTOSQUASH =
/\A(fixup|squash)! /

Instance Attribute Summary

Attributes inherited from Base

#branch_name, #config

Instance Method Summary collapse

Methods inherited from Base

#enabled?, inherited, #initialize, #matches_branch?, #validate_line

Methods included from HasErrors

#add_error, #add_warning, #clear_errors, #clear_warnings, #errors, #merge_errors, #merge_warnings, #warnings

Constructor Details

This class inherits a constructor from FitCommit::Validators::Base

Instance Method Details

#validate(lines) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/fit_commit/validators/capitalize_subject.rb', line 10

def validate(lines)
  if lines[0].text =~ /\A[[:lower:]]/ && lines[0].text !~ AUTOSQUASH
    if ignore_on_wiplikes? && wiplike?(lines)
      add_warning(1, MESSAGE)
    else
      add_error(1, MESSAGE)
    end
  end
end