From 574c485c3d7c3222f5958c8b4b433baf19efcb2a Mon Sep 17 00:00:00 2001 From: Anton Chuchkalov Date: Wed, 26 Nov 2014 19:02:53 +0400 Subject: [PATCH] add expiration validation --- .../db/mongo/models/deploy_env_base.rb | 4 +--- devops-service/db/validators/all.rb | 4 ++-- .../db/validators/deploy_env/expiration.rb | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 devops-service/db/validators/deploy_env/expiration.rb diff --git a/devops-service/db/mongo/models/deploy_env_base.rb b/devops-service/db/mongo/models/deploy_env_base.rb index cdc9914..d72e5f9 100644 --- a/devops-service/db/mongo/models/deploy_env_base.rb +++ b/devops-service/db/mongo/models/deploy_env_base.rb @@ -21,10 +21,8 @@ class DeployEnvBase < MongoModel def validate! super Validators::DeployEnv::RunList.new(self).validate! + Validators::DeployEnv::Expiration.new(self).validate! - unless self.expires.nil? - check_expires!(self.expires) - end check_users!(self.users) end diff --git a/devops-service/db/validators/all.rb b/devops-service/db/validators/all.rb index 6f9ac20..060e313 100644 --- a/devops-service/db/validators/all.rb +++ b/devops-service/db/validators/all.rb @@ -4,5 +4,5 @@ module Validators end require "db/validators/base" -require "db/validators/helpers/run_list" -require "db/validators/deploy_env/run_list" +Dir["db/validators/helpers/*.rb"].each {|file| require file } +Dir["db/validators/deploy_env/*.rb"].each {|file| require file } diff --git a/devops-service/db/validators/deploy_env/expiration.rb b/devops-service/db/validators/deploy_env/expiration.rb new file mode 100644 index 0000000..9f24a27 --- /dev/null +++ b/devops-service/db/validators/deploy_env/expiration.rb @@ -0,0 +1,16 @@ +module Validators + class DeployEnv::Expiration < Base + + def valid? + if @model.expires + @model.expires.match(/^[0-9]+[smhdw]$/) + else + true + end + end + + def message + "Parameter 'expires' is invalid. Valid format: [0-9]+[smhdw] or null." + end + end +end \ No newline at end of file