37 lines
985 B
Ruby
37 lines
985 B
Ruby
require "providers/provider_factory"
|
|
|
|
module Devops
|
|
module Model
|
|
module ModelWithProvider
|
|
|
|
attr_accessor :provider, :provider_account
|
|
|
|
def ModelWithProvider.included(mod)
|
|
|
|
mod.set_field_validators :provider, ::Validators::FieldValidator::NotNil,
|
|
::Validators::FieldValidator::FieldType::String,
|
|
::Validators::FieldValidator::NotEmpty,
|
|
::Validators::FieldValidator::Provider
|
|
end
|
|
|
|
def provider_instance
|
|
@provider_instance ||= Provider::ProviderFactory.get(self.provider, self.provider_account)
|
|
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
|
|
|
|
end
|
|
end
|
|
end
|
|
|