fluke/devops-service/db/mongo/models/deploy_env_base.rb

42 lines
920 B
Ruby
Raw Normal View History

2014-06-24 13:40:52 +04:00
require "db/mongo/models/mongo_model"
require "db/exceptions/invalid_record"
require "commands/deploy_env"
class DeployEnvBase < MongoModel
include DeployEnvCommands
attr_accessor :identifier, :run_list, :expires, :provider, :users
def initialize d={}
self.identifier = d["identifier"]
b = d["run_list"] || []
self.run_list = (b.is_a?(Array) ? b.uniq : b)
self.expires = d["expires"]
self.provider = d["provider"]
b = d["users"] || []
self.users = (b.is_a?(Array) ? b.uniq : b)
end
def validate!
super
2014-11-26 16:59:46 +03:00
Validators::DeployEnv::RunList.new(self).validate!
2014-06-24 13:40:52 +04:00
unless self.expires.nil?
check_expires!(self.expires)
end
check_users!(self.users)
end
def to_hash
{
"identifier" => self.identifier,
"run_list" => self.run_list,
"expires" => self.expires,
"provider" => self.provider,
"users" => self.users
}
end
end