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
|