diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-03-17 16:55:43 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-03-17 16:55:43 +0300 |
commit | 9c7fffb6559facdcf8bbda680795f70d836293bf (patch) | |
tree | ec121310208197f6f50b953c999b0880083b45cd /app/models/deploy_keys_project.rb | |
parent | 409097bd7e0f5857cf0bc5462bd47484980ec787 (diff) |
Delete deploy key when last connection to a project is destroyed.
Diffstat (limited to 'app/models/deploy_keys_project.rb')
-rw-r--r-- | app/models/deploy_keys_project.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/models/deploy_keys_project.rb b/app/models/deploy_keys_project.rb index f23d8205ddc..7e88903b9af 100644 --- a/app/models/deploy_keys_project.rb +++ b/app/models/deploy_keys_project.rb @@ -16,4 +16,12 @@ class DeployKeysProject < ActiveRecord::Base validates :deploy_key_id, presence: true validates :deploy_key_id, uniqueness: { scope: [:project_id], message: "already exists in project" } validates :project_id, presence: true + + after_destroy :destroy_orphaned_deploy_key + + private + + def destroy_orphaned_deploy_key + self.deploy_key.destroy if self.deploy_key.deploy_keys_projects.length == 0 + end end |