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/environment.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 app/models/environment.rb (limited to 'app/models/environment.rb') diff --git a/app/models/environment.rb b/app/models/environment.rb new file mode 100644 index 00000000000..623404ba634 --- /dev/null +++ b/app/models/environment.rb @@ -0,0 +1,11 @@ +class Environment < ActiveRecord::Base + belongs_to :project + + has_many :deployments + + validates_presence_of :name + + def last_deployment + deployments.last + end +end -- cgit v1.2.1 From e8f09f02bf8b0053f276a8e5ce0bdd18c621a1a3 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 14 Jun 2016 13:04:21 +0200 Subject: Validate environment name with regex --- app/models/environment.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/models/environment.rb') diff --git a/app/models/environment.rb b/app/models/environment.rb index 623404ba634..b29cca8fbe2 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -3,7 +3,11 @@ class Environment < ActiveRecord::Base has_many :deployments - validates_presence_of :name + validates :name, + presence: true, + length: { within: 0..255 }, + format: { with: Gitlab::Regex.environment_name_regex, + message: Gitlab::Regex.environment_name_regex_message } def last_deployment deployments.last -- 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/environment.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/models/environment.rb') diff --git a/app/models/environment.rb b/app/models/environment.rb index b29cca8fbe2..3eab137718e 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -9,6 +9,10 @@ class Environment < ActiveRecord::Base format: { with: Gitlab::Regex.environment_name_regex, message: Gitlab::Regex.environment_name_regex_message } + validates_uniqueness_of :name, scope: :project_id + + validates_associated :project + def last_deployment deployments.last 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/environment.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'app/models/environment.rb') diff --git a/app/models/environment.rb b/app/models/environment.rb index 3eab137718e..ac6f8c81e01 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -5,13 +5,12 @@ class Environment < ActiveRecord::Base validates :name, presence: true, + uniqueness: { scope: :project_id }, length: { within: 0..255 }, format: { with: Gitlab::Regex.environment_name_regex, message: Gitlab::Regex.environment_name_regex_message } - validates_uniqueness_of :name, scope: :project_id - - validates_associated :project + validates :project, associated: true def last_deployment deployments.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/environment.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'app/models/environment.rb') diff --git a/app/models/environment.rb b/app/models/environment.rb index ac6f8c81e01..7986a2529df 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -1,5 +1,5 @@ class Environment < ActiveRecord::Base - belongs_to :project + belongs_to :project, required: true has_many :deployments @@ -10,8 +10,6 @@ class Environment < ActiveRecord::Base format: { with: Gitlab::Regex.environment_name_regex, message: Gitlab::Regex.environment_name_regex_message } - validates :project, associated: true - def last_deployment deployments.last end -- 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/environment.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/models/environment.rb') diff --git a/app/models/environment.rb b/app/models/environment.rb index 7986a2529df..ac3a571a1f3 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -1,5 +1,5 @@ class Environment < ActiveRecord::Base - belongs_to :project, required: true + belongs_to :project, required: true, validate: true has_many :deployments -- cgit v1.2.1