31 lines
		
	
	
		
			684 B
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			684 B
		
	
	
	
		
			Ruby
		
	
	
	
|  | module OrbitModel | ||
|  | 
 | ||
|  |   module LanguageRestrict | ||
|  | 
 | ||
|  |     def self.included(base) | ||
|  |       base.class_eval do | ||
|  |         scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) } | ||
|  |         before_save :update_available_language | ||
|  |         send :include, InstanceMethods | ||
|  |       end | ||
|  |     end | ||
|  | 
 | ||
|  |     module InstanceMethods | ||
|  |        | ||
|  |       private | ||
|  |    | ||
|  |       def update_available_language | ||
|  |         VALID_LOCALES.each  do |locale| | ||
|  |           if (title_translations[locale].blank? rescue true) | ||
|  |             self["available_for_#{locale}".to_sym] = false  | ||
|  |           else | ||
|  |             self["available_for_#{locale}".to_sym] = true | ||
|  |           end | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |     end | ||
|  | 
 | ||
|  |   end | ||
|  | 
 | ||
|  | end |