Sha256: 1b972c6dcb93eb8dcc00f05a6731611f6763455d30282d7d1a61207b8350f189
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
module TranslationCenter class Category < ActiveRecord::Base has_many :translation_keys, dependent: :destroy alias_method :keys, :translation_keys # validations validates :name, presence: true, uniqueness: true # gets how much complete translation of category is in a certain language def complete_percentage_in(lang) if self.keys.empty? 100 else accepted_keys = accepted_keys(lang) 100 * accepted_keys.count / self.keys.count end end # gets the keys accepted in a certain language that belong to a category def accepted_keys(lang) self.keys.translated(lang) end alias_method :translated_keys, :accepted_keys # gets the keys that have no translations in the language def untranslated_keys(lang) self.keys.untranslated(lang) end # gets the keys that have no translations in the language def pending_keys(lang) self.keys.pending(lang) end def all_keys(lang) self.keys end # returns a name that is better for presentation def view_name self.name.titleize end def get_pages response = [] self.keys.each do |k| response << k.name.split('.')[1] unless (k.name.split('.').length < 1) end response.uniq! end def get_translations_for_page(page_name) self.keys.where("name LIKE ? ", "%#{page_name}%") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
afalkear_translation_center-1.8.4 | app/models/translation_center/category.rb |
afalkear_translation_center-1.8.3 | app/models/translation_center/category.rb |