Class: Git::Lint::Analyzers::CommitTrailerCollaboratorEmail

Inherits:
Abstract
  • Object
show all
Defined in:
lib/git/lint/analyzers/commit_trailer_collaborator_email.rb

Overview

Analyzes commit trailer collaborator email address format.

Constant Summary

Constants inherited from Abstract

Abstract::ISSUE_LINE_OFFSET, Abstract::LEVELS

Instance Attribute Summary

Attributes inherited from Abstract

#commit

Instance Method Summary collapse

Methods inherited from Abstract

build_issue_line, #enabled?, #error?, id, #invalid?, label, #severity, #warning?

Constructor Details

#initialize(commit, parser: Parsers::Trailers::Collaborator, validator: Validators::Email, **dependencies) ⇒ CommitTrailerCollaboratorEmail

rubocop:disable Metrics/ParameterLists



9
10
11
12
13
14
15
16
# File 'lib/git/lint/analyzers/commit_trailer_collaborator_email.rb', line 9

def initialize commit,
               parser: Parsers::Trailers::Collaborator,
               validator: Validators::Email,
               **dependencies
  super commit, **dependencies
  @parser = parser
  @validator = validator
end

Instance Method Details

#issueObject



21
22
23
24
25
26
27
28
# File 'lib/git/lint/analyzers/commit_trailer_collaborator_email.rb', line 21

def issue
  return {} if valid?

  {
    hint: %(Email must follow name and use format: "<[email protected]>".),
    lines: affected_commit_trailers
  }
end

#valid?Boolean

rubocop:enable Metrics/ParameterLists

Returns:

  • (Boolean)


19
# File 'lib/git/lint/analyzers/commit_trailer_collaborator_email.rb', line 19

def valid? = affected_commit_trailers.empty?