| 
									
										
										
										
											2015-08-05 14:05:14 +03:00
										 |  |  | module Devops | 
					
						
							|  |  |  |   module Model | 
					
						
							|  |  |  |     module ModelWithProvider | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |       class << self | 
					
						
							|  |  |  |         def included(mod) | 
					
						
							|  |  |  |           mod.field :provider, type: String | 
					
						
							| 
									
										
										
										
											2015-11-19 14:09:38 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |           mod.validates_presence_of :provider, message: "'provider' is undefined" | 
					
						
							|  |  |  |         end | 
					
						
							| 
									
										
										
										
											2015-10-06 13:50:26 +03:00
										 |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |       def check_provider_type hash | 
					
						
							|  |  |  |         raise Devops::Exception::ParserError.new("Parameter 'provider' is not a string") unless hash["provider"].is_a?(String) | 
					
						
							| 
									
										
										
										
											2015-08-05 14:05:14 +03:00
										 |  |  |       end | 
					
						
							| 
									
										
										
										
											2015-10-27 12:01:21 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |       def validate_provider | 
					
						
							|  |  |  |         providers = Provider.providers | 
					
						
							|  |  |  |         errors.add(:provider, "Invalid provider, available values: '#{providers.join("', '")}'") unless providers.include?(self.provider) | 
					
						
							| 
									
										
										
										
											2015-10-27 12:01:21 +03:00
										 |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       def provider_hash | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2018-04-04 22:44:39 +03:00
										 |  |  |           "provider" => self.provider | 
					
						
							| 
									
										
										
										
											2015-10-27 12:01:21 +03:00
										 |  |  |         } | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-05 14:05:14 +03:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 |