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