diff options
Diffstat (limited to 'app/models/gpg_signature.rb')
-rw-r--r-- | app/models/gpg_signature.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/models/gpg_signature.rb b/app/models/gpg_signature.rb new file mode 100644 index 00000000000..50fb35c77ec --- /dev/null +++ b/app/models/gpg_signature.rb @@ -0,0 +1,25 @@ +class GpgSignature < ActiveRecord::Base + include ShaAttribute + + sha_attribute :commit_sha + sha_attribute :gpg_key_primary_keyid + + belongs_to :project + belongs_to :gpg_key + + validates :commit_sha, presence: true + validates :project_id, presence: true + validates :gpg_key_primary_keyid, presence: true + + def gpg_key_primary_keyid + super&.upcase + end + + def commit + project.commit(commit_sha) + end + + def gpg_commit + Gitlab::Gpg::Commit.new(project, commit_sha) + end +end |