Commit 543d86f351780ebfd9bdd945e6cc247da4919602

Authored by Dmitriy Zaporozhets
1 parent 53413f12

Create DeployKey & DeployKeysProject models. Bulding many to many relation betwe…

…en deploy keys and projects
app/models/deploy_key.rb 0 → 100644
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +class DeployKey < Key
  2 + has_many :deploy_keys_projects, dependent: :destroy
  3 + has_many :projects, through: :deploy_keys_projects
  4 +end
app/models/deploy_keys_project.rb 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +class DeployKeysProject < ActiveRecord::Base
  2 + attr_accessible :key_id, :project_id
  3 +
  4 + belongs_to :project
  5 + belongs_to :deploy_key
  6 +
  7 + validates :deploy_key_id, presence: true
  8 + validates :deploy_key_id, uniqueness: { scope: [:project_id], message: "already exists in project" }
  9 +
  10 + validates :project_id, presence: true
  11 +end
app/models/key.rb
@@ -16,7 +16,6 @@ require &#39;digest/md5&#39; @@ -16,7 +16,6 @@ require &#39;digest/md5&#39;
16 16
17 class Key < ActiveRecord::Base 17 class Key < ActiveRecord::Base
18 belongs_to :user 18 belongs_to :user
19 - belongs_to :project  
20 19
21 attr_accessible :key, :title 20 attr_accessible :key, :title
22 21
@@ -29,7 +28,7 @@ class Key &lt; ActiveRecord::Base @@ -29,7 +28,7 @@ class Key &lt; ActiveRecord::Base
29 delegate :name, :email, to: :user, prefix: true 28 delegate :name, :email, to: :user, prefix: true
30 29
31 def strip_white_space 30 def strip_white_space
32 - self.key = self.key.strip unless self.key.blank? 31 + self.key = key.strip unless key.blank?
33 end 32 end
34 33
35 def fingerprintable_key 34 def fingerprintable_key
@@ -53,14 +52,10 @@ class Key &lt; ActiveRecord::Base @@ -53,14 +52,10 @@ class Key &lt; ActiveRecord::Base
53 52
54 # projects that has this key 53 # projects that has this key
55 def projects 54 def projects
56 - if is_deploy_key  
57 - [project]  
58 - else  
59 - user.authorized_projects  
60 - end 55 + user.authorized_projects
61 end 56 end
62 57
63 def shell_id 58 def shell_id
64 - "key-#{self.id}" 59 + "key-#{id}"
65 end 60 end
66 end 61 end