class Git::Lint::Analyzers::CommitTrailerCollaboratorEmail
Public Class Methods
defaults()
click to toggle source
# File lib/git/lint/analyzers/commit_trailer_collaborator_email.rb, line 7 def self.defaults { enabled: true, severity: :error } end
new(commit:, settings: self.class.defaults, parser: Parsers::Trailers::Collaborator, validator: Validators::Email)
click to toggle source
rubocop:disable Metrics/ParameterLists
Calls superclass method
Git::Lint::Analyzers::Abstract::new
# File lib/git/lint/analyzers/commit_trailer_collaborator_email.rb, line 15 def initialize commit:, settings: self.class.defaults, parser: Parsers::Trailers::Collaborator, validator: Validators::Email super commit: commit, settings: settings @parser = parser @validator = validator end
Public Instance Methods
invalid_line?(line)
click to toggle source
# File lib/git/lint/analyzers/commit_trailer_collaborator_email.rb, line 39 def invalid_line? line collaborator = parser.new line collaborator.match? && !validator.new(collaborator.email).valid? end
issue()
click to toggle source
# File lib/git/lint/analyzers/commit_trailer_collaborator_email.rb, line 28 def issue return {} if valid? { hint: %(Email must follow name and use format: "<name@server.domain>".), lines: affected_commit_trailers } end
valid?(= affected_commit_trailers.empty?)
click to toggle source
rubocop:enable Metrics/ParameterLists
# File lib/git/lint/analyzers/commit_trailer_collaborator_email.rb, line 26 def valid? = affected_commit_trailers.empty? def issue return {} if valid? { hint: %(Email must follow name and use format: "<name@server.domain>".), lines: affected_commit_trailers } end protected def invalid_line? line collaborator = parser.new line collaborator.match? && !validator.new(collaborator.email).valid? end private attr_reader :parser, :validator end