fluke/devops-service/db/mongo/models/stack_template/stack_template_base.rb
Anton Martynov eca9352a1c fixed
2015-08-24 14:57:15 +03:00

50 lines
1.1 KiB
Ruby

require 'tempfile'
require 'securerandom'
require "db/mongo/models/model_with_provider"
require "db/validators/stack_template/template_content"
module Devops
module Model
class StackTemplateBase < MongoModel
include ModelWithProvider
attr_accessor :id, :template_body, :provider
types id: {type: String, empty: false},
provider: {type: String, empty: false},
template_body: {type: String, empty: false}
set_validators ::Validators::StackTemplate::TemplateContent
def initialize(attrs)
self.id = attrs['id']
self.template_body = attrs['template_body']
self.provider = attrs['provider']
self
end
def to_hash_without_id
{
provider: provider,
template_body: template_body
}
end
# attrs should include:
# - id (String)
# - provider (String)
# - template_body (String)
def self.create(attrs)
new(attrs)
end
def self.build_from_bson(attrs)
attrs['id'] = attrs["_id"]
self.new(attrs)
end
end
end
end