32 lines
		
	
	
		
			756 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			756 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module Devops
 | |
|   module Model
 | |
|     module ModelWithProvider
 | |
| 
 | |
|       class << self
 | |
|         def included(mod)
 | |
|           mod.field :provider, type: String
 | |
| 
 | |
|           mod.validates_presence_of :provider, message: "'provider' is undefined"
 | |
|         end
 | |
|       end
 | |
| 
 | |
|       def check_provider_type hash
 | |
|         raise Devops::Exception::ParserError.new("Parameter 'provider' is not a string") unless hash["provider"].is_a?(String)
 | |
|       end
 | |
| 
 | |
|       def validate_provider
 | |
|         providers = Provider.providers
 | |
|         errors.add(:provider, "Invalid provider, available values: '#{providers.join("', '")}'") unless providers.include?(self.provider)
 | |
|       end
 | |
| 
 | |
|       def provider_hash
 | |
|         {
 | |
|           "provider" => self.provider
 | |
|         }
 | |
|       end
 | |
| 
 | |
|     end
 | |
|   end
 | |
| end
 | |
| 
 | 
