Module: HasLocalizationTable::ActiveRecord::Relation::InstanceMethods
- Defined in:
- lib/has_localization_table/active_record/relation.rb
Instance Method Summary collapse
-
#build_missing_localizations! ⇒ Object
Add localization objects for any available locale that doesn’t have one.
-
#reject_empty_localizations! ⇒ Object
Remove localization objects that are not filled in.
Instance Method Details
#build_missing_localizations! ⇒ Object
Add localization objects for any available locale that doesn’t have one
61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/has_localization_table/active_record/relation.rb', line 61 def build_missing_localizations! return unless HasLocalizationTable.all_locales.any? locale_ids = HasLocalizationTable.all_locales.map(&:id) HasLocalizationTable.all_locales.each do |locale| unless localization_association.detect{ |str| str.send(HasLocalizationTable.locale_foreign_key) == locale.id } localization_association.build(HasLocalizationTable.locale_foreign_key => locale.id) end localization_association.sort_by!{ |l| locale_ids.index(l.send(HasLocalizationTable.locale_foreign_key)) || 0 } end end |
#reject_empty_localizations! ⇒ Object
Remove localization objects that are not filled in
75 76 77 |
# File 'lib/has_localization_table/active_record/relation.rb', line 75 def reject_empty_localizations! localization_association.reject! { |l| !l.persisted? and localized_attributes.all?{ |attr| l.send(attr).blank? } } end |