class Git::Cop::Styles::CommitBodyBulletCapitalization

Public Class Methods

defaults() click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 7
def self.defaults
  {
    enabled: true,
    severity: :error,
    whitelist: %w[\\-]
  }
end

Public Instance Methods

issue() click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 19
def issue
  return {} if valid?

  {
    hint: "Capitalize first word.",
    lines: affected_lines
  }
end
valid?() click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 15
def valid?
  lowercased_bullets.size.zero?
end

Protected Instance Methods

load_graylist() click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 30
def load_graylist
  Kit::Graylist.new settings.fetch :whitelist
end

Private Instance Methods

affected_lines() click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 44
def affected_lines
  commit.body_lines.each.with_object([]).with_index do |(line, lines), index|
    lines << self.class.build_issue_line(index, line) if invalid_line?(line)
  end
end
invalid_line?(line) click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 36
def invalid_line? line
  line.match?(/\A\s*#{Regexp.union graylist.to_regexp}\s[[:lower:]]+/)
end
lowercased_bullets() click to toggle source
# File lib/git/cop/styles/commit_body_bullet_capitalization.rb, line 40
def lowercased_bullets
  commit.body_lines.select { |line| invalid_line? line }
end