class Git::Lint::Analyzers::CommitBodyIssueTrackerLink

Public Class Methods

defaults() click to toggle source
# File lib/git/lint/analyzers/commit_body_issue_tracker_link.rb, line 7
def self.defaults
  {
    enabled: true,
    severity: :error,
    excludes: [
      "(f|F)ix(es|ed)?\\s\\#\\d+",
      "(c|C)lose(s|d)?\\s\\#\\d+",
      "(r|R)esolve(s|d)?\\s\\#\\d+",
      "github\\.com\\/.+\\/issues\\/\\d+"
    ]
  }
end

Public Instance Methods

invalid_line?(line) click to toggle source
# File lib/git/lint/analyzers/commit_body_issue_tracker_link.rb, line 35
  def invalid_line?(line) = line.match?(/.*#{Regexp.union filter_list.to_regexp}.*/)
end
issue() click to toggle source
# File lib/git/lint/analyzers/commit_body_issue_tracker_link.rb, line 22
def issue
  return {} if valid?

  {
    hint: "Explain issue instead of using link. Avoid: #{filter_list.to_hint}.",
    lines: affected_commit_body_lines
  }
end
load_filter_list(= Kit::FilterList.new(settings.fetch(:excludes))) click to toggle source
# File lib/git/lint/analyzers/commit_body_issue_tracker_link.rb, line 33
    def load_filter_list = Kit::FilterList.new(settings.fetch(:excludes))

    def invalid_line?(line) = line.match?(/.*#{Regexp.union filter_list.to_regexp}.*/)
  end
end
valid?(= commit.body_lines.none? { |line| invalid_line? line }) click to toggle source
# File lib/git/lint/analyzers/commit_body_issue_tracker_link.rb, line 20
      def valid? = commit.body_lines.none? { |line| invalid_line? line }

      def issue
        return {} if valid?

        {
          hint: "Explain issue instead of using link. Avoid: #{filter_list.to_hint}.",
          lines: affected_commit_body_lines
        }
      end

      protected

      def load_filter_list = Kit::FilterList.new(settings.fetch(:excludes))

      def invalid_line?(line) = line.match?(/.*#{Regexp.union filter_list.to_regexp}.*/)
    end
  end
end