51 lines
1.3 KiB
Ruby
51 lines
1.3 KiB
Ruby
require "db/mongo/models/mongo_model"
|
|
require "providers/provider_factory"
|
|
require "db/mongo/models/model_with_provider"
|
|
require "db/validators/deploy_env/run_list"
|
|
require "db/validators/deploy_env/expiration"
|
|
require "db/validators/deploy_env/users"
|
|
|
|
module Devops
|
|
module Model
|
|
class DeployEnvBase < MongoModel
|
|
|
|
include ModelWithProvider
|
|
|
|
attr_accessor :identifier, :run_list, :expires, :users
|
|
|
|
set_validators ::Validators::DeployEnv::RunList,
|
|
::Validators::DeployEnv::Expiration,
|
|
::Validators::DeployEnv::Users
|
|
|
|
def initialize d={}
|
|
self.identifier = d["identifier"]
|
|
b = d["run_list"] || []
|
|
self.run_list = b.uniq
|
|
self.expires = d["expires"]
|
|
self.provider = d["provider"]
|
|
b = d["users"] || []
|
|
self.users = b.uniq
|
|
end
|
|
|
|
def to_hash
|
|
{
|
|
"identifier" => self.identifier,
|
|
"run_list" => self.run_list,
|
|
"expires" => self.expires,
|
|
"provider" => self.provider,
|
|
"users" => self.users
|
|
}
|
|
end
|
|
|
|
def add_users users
|
|
self.users = (self.users + users).uniq
|
|
end
|
|
|
|
def build_error_message(message)
|
|
"Deploy environment '#{self.identifier}'. " + message
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|