From 907c0e6796b69f9577c147dd489cf55748c749ac Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Fri, 10 Jun 2016 23:36:54 +0200 Subject: Added initial version of deployments --- app/models/deployment.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 app/models/deployment.rb (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb new file mode 100644 index 00000000000..7cdfc740441 --- /dev/null +++ b/app/models/deployment.rb @@ -0,0 +1,25 @@ +class Deployment < ActiveRecord::Base + include InternalId + + belongs_to :project + belongs_to :environment + belongs_to :user + belongs_to :deployable, polymorphic: true + + validates_presence_of :sha + validates_presence_of :ref + + delegate :name, to: :environment, prefix: true + + def commit + project.commit(sha) + end + + def commit_title + commit.try(:title) + end + + def short_sha + Commit::truncate_sha(sha) + end +end -- cgit v1.2.1 From 3ade826065f38e3734090cf34fbfc28b68ba79d0 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 14 Jun 2016 13:51:12 +0200 Subject: Add specs for models and services --- app/models/deployment.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb index 7cdfc740441..44a0a7fdd10 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -8,6 +8,8 @@ class Deployment < ActiveRecord::Base validates_presence_of :sha validates_presence_of :ref + validates_associated :project + validates_associated :environment delegate :name, to: :environment, prefix: true -- cgit v1.2.1 From 30877effb15d8a3eccc13925549a4c97de93c58e Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 14 Jun 2016 14:47:00 +0200 Subject: Test environment controller specs --- app/models/deployment.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb index 44a0a7fdd10..32799ee27e6 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -24,4 +24,8 @@ class Deployment < ActiveRecord::Base def short_sha Commit::truncate_sha(sha) end + + def last? + self == environment.last_deployment + end end -- cgit v1.2.1 From 14a02a6a95353948d00f8f973b35b80ac06f4599 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 14 Jun 2016 18:34:48 +0200 Subject: Improve design after review --- app/models/deployment.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb index 32799ee27e6..d9006b70e30 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -6,10 +6,10 @@ class Deployment < ActiveRecord::Base belongs_to :user belongs_to :deployable, polymorphic: true - validates_presence_of :sha - validates_presence_of :ref - validates_associated :project - validates_associated :environment + validates :sha, presence: true + validates :ref, presence: true + validates :project, associated: true + validates :environment, associated: true delegate :name, to: :environment, prefix: true @@ -22,7 +22,7 @@ class Deployment < ActiveRecord::Base end def short_sha - Commit::truncate_sha(sha) + Commit.truncate_sha(sha) end def last? -- cgit v1.2.1 From 2541e50d7ce64bb402d06dc9d75567b78282c7b7 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Wed, 15 Jun 2016 12:03:49 +0200 Subject: Improve validations --- app/models/deployment.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb index d9006b70e30..cda922080cb 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -1,15 +1,13 @@ class Deployment < ActiveRecord::Base include InternalId - belongs_to :project - belongs_to :environment + belongs_to :project, required: true + belongs_to :environment, required: true belongs_to :user belongs_to :deployable, polymorphic: true validates :sha, presence: true validates :ref, presence: true - validates :project, associated: true - validates :environment, associated: true delegate :name, to: :environment, prefix: true -- cgit v1.2.1 From 9e487100b5e7ee7e226121fa353060d4e3dda8d4 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Wed, 15 Jun 2016 14:05:10 +0200 Subject: Validate project and environment instead of only requiring --- app/models/deployment.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb index cda922080cb..030648470ee 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -1,8 +1,8 @@ class Deployment < ActiveRecord::Base include InternalId - belongs_to :project, required: true - belongs_to :environment, required: true + belongs_to :project, validate: true + belongs_to :environment, validate: true belongs_to :user belongs_to :deployable, polymorphic: true -- cgit v1.2.1 From 6ace6d940a90e70f89392c3be7d9e538b6cec04c Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Wed, 15 Jun 2016 15:09:50 +0200 Subject: Use validate and required for environment and project --- app/models/deployment.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/models/deployment.rb') diff --git a/app/models/deployment.rb b/app/models/deployment.rb index 030648470ee..e498ca96e3c 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -1,8 +1,8 @@ class Deployment < ActiveRecord::Base include InternalId - belongs_to :project, validate: true - belongs_to :environment, validate: true + belongs_to :project, required: true, validate: true + belongs_to :environment, required: true, validate: true belongs_to :user belongs_to :deployable, polymorphic: true -- cgit v1.2.1