add expiration validation

This commit is contained in:
Anton Chuchkalov 2014-11-26 19:02:53 +04:00
parent 73f4d4d540
commit 574c485c3d
3 changed files with 19 additions and 5 deletions

View File

@ -21,10 +21,8 @@ class DeployEnvBase < MongoModel
def validate! def validate!
super super
Validators::DeployEnv::RunList.new(self).validate! 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) check_users!(self.users)
end end

View File

@ -4,5 +4,5 @@ module Validators
end end
require "db/validators/base" require "db/validators/base"
require "db/validators/helpers/run_list" Dir["db/validators/helpers/*.rb"].each {|file| require file }
require "db/validators/deploy_env/run_list" Dir["db/validators/deploy_env/*.rb"].each {|file| require file }

View File

@ -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