class Git::Lint::Analyzers::CommitBodyPresence

Public Class Methods

defaults() click to toggle source
# File lib/git/lint/analyzers/commit_body_presence.rb, line 9
def self.defaults
  {
    enabled: true,
    severity: :warn,
    minimum: 1
  }
end

Public Instance Methods

issue() click to toggle source
# File lib/git/lint/analyzers/commit_body_presence.rb, line 26
def issue
  return {} if valid?

  {hint: %(Use minimum of #{"line".pluralize count: minimum} (non-empty).)}
end
minimum(= settings.fetch(:minimum)) click to toggle source
# File lib/git/lint/analyzers/commit_body_presence.rb, line 24
  def minimum = settings.fetch(:minimum)

  def issue
    return {} if valid?

    {hint: %(Use minimum of #{"line".pluralize count: minimum} (non-empty).)}
  end
end
valid?() click to toggle source
# File lib/git/lint/analyzers/commit_body_presence.rb, line 17
def valid?
  return true if commit.fixup?

  valid_lines = commit.body_lines.reject { |line| line.match?(/^\s*$/) }
  valid_lines.size >= minimum
end