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