class Git::Cop::Styles::CommitBodySingleBullet

Public Class Methods

defaults() click to toggle source
# File lib/git/cop/styles/commit_body_single_bullet.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_single_bullet.rb, line 19
def issue
  return {} if valid?

  {
    hint: "Use paragraph instead of single bullet.",
    lines: affected_lines
  }
end
valid?() click to toggle source
# File lib/git/cop/styles/commit_body_single_bullet.rb, line 15
def valid?
  bullet_lines.size != 1
end

Protected Instance Methods

load_graylist() click to toggle source
# File lib/git/cop/styles/commit_body_single_bullet.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_single_bullet.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 bullet?(line)
  end
end
bullet?(line) click to toggle source
# File lib/git/cop/styles/commit_body_single_bullet.rb, line 36
def bullet? line
  line.match?(/\A#{Regexp.union graylist.to_regexp}\s+/)
end
bullet_lines() click to toggle source
# File lib/git/cop/styles/commit_body_single_bullet.rb, line 40
def bullet_lines
  commit.body_lines.select { |line| bullet? line }
end