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