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 |