class Essay::ModelFeatures::TranslatesWithGlobalize

Public Instance Methods

association_for_translations() click to toggle source

class Article < ActiveRecord::Base

belongs_to :poster
translates :name, :poster_id

end

Article.features.globalize.association_for_translations => traits for association named 'translations'

# File lib/essay-globalize/model.rb, line 74
def association_for_translations
  globalize_base = Globalize::ActiveRecord::Translation
  model_associations.find do |assoc|
    to_class = assoc.to_class
    to_class && to_class.ancestors.include?(globalize_base)
  end
end
model_class_for_translations() click to toggle source

class Article < ActiveRecord::Base

belongs_to :poster
translates :name, :poster_id

end

Article.features.globalize.model_class_for_translations => Article::Translation

# File lib/essay-globalize/model.rb, line 64
def model_class_for_translations
  model_class.translation_class
end
translated_association_names() click to toggle source

class Article < ActiveRecord::Base

belongs_to :poster
translates :name, :poster_id

end

Article.features.globalize.translated_association_names => [:poster]

# File lib/essay-globalize/model.rb, line 54
def translated_association_names
  translated_associations.map(&:name)
end
translated_associations() click to toggle source
# File lib/essay-globalize/model.rb, line 41
def translated_associations
  tr_attrs = translated_attribute_names
  model_associations.select do |assoc|
    assoc.belongs_to? && tr_attrs.include?(assoc.reflection.foreign_key.to_sym)
  end
end
translated_attribute_names() click to toggle source

class Article < ActiveRecord::Base

belongs_to :poster
translates :name, :poster_id

end

Article.features.globalize.translated_attribute_names => [:name, :poster_id]

# File lib/essay-globalize/model.rb, line 37
def translated_attribute_names
  model_class.translated_attribute_names.map { |el| el.kind_of?(Symbol) ? el : el.to_sym }
end
translated_attributes() click to toggle source
# File lib/essay-globalize/model.rb, line 27
def translated_attributes
  model_class.translated_attribute_names.map { |el| model_associations[el] }
end