Module: CommitSignature

Extended by:
ActiveSupport::Concern
Included in:
CommitSignatures::GpgSignature, CommitSignatures::SshSignature, CommitSignatures::X509CommitSignature
Defined in:
app/models/concerns/commit_signature.rb

Instance Method Summary collapse

Instance Method Details

#commitObject



37
38
39
# File 'app/models/concerns/commit_signature.rb', line 37

def commit
  project.commit(commit_sha)
end

#signed_by_userObject

Raises:

  • (NoMethodError)


41
42
43
# File 'app/models/concerns/commit_signature.rb', line 41

def signed_by_user
  raise NoMethodError, 'must implement `signed_by_user` method'
end

#verification_statusObject

If commit is persisted as verified, check that commit email is still correct.



46
47
48
49
50
51
52
53
54
55
# File 'app/models/concerns/commit_signature.rb', line 46

def verification_status
  persisted_status = read_attribute(:verification_status)
  return persisted_status unless Feature.enabled?(:check_for_mailmapped_commit_emails, project)
  return persisted_status unless verified? || verified_system?
  return persisted_status unless commit

  return 'unverified_author_email' if emails_for_verification&.exclude?(commit.committer_email)

  persisted_status
end