Orbit/lib/orbit_model/language_restrict.rb

31 lines
684 B
Ruby
Raw Permalink Normal View History

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