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

37 lines
985 B
Ruby
Raw Normal View History

2015-08-05 14:05:14 +03:00
require "providers/provider_factory"
module Devops
module Model
module ModelWithProvider
attr_accessor :provider, :provider_account
2015-08-05 14:05:14 +03:00
def ModelWithProvider.included(mod)
mod.set_field_validators :provider, ::Validators::FieldValidator::NotNil,
::Validators::FieldValidator::FieldType::String,
::Validators::FieldValidator::NotEmpty,
::Validators::FieldValidator::Provider
end
2015-08-05 14:05:14 +03:00
def provider_instance
@provider_instance ||= Provider::ProviderFactory.get(self.provider, self.provider_account)
2015-08-05 14:05:14 +03:00
end
def set_provider hash
self.provider = hash["provider"]
self.provider_account = hash["provider_account"]
end
def provider_hash
{
"provider" => self.provider,
"provider_account" => self.provider_account
}
end
2015-08-05 14:05:14 +03:00
end
end
end