Class: MissingI18n::Locale
- Inherits:
-
Object
- Object
- MissingI18n::Locale
- Defined in:
- app/models/missing_i18n/locale.rb
Overview
plain old ruby object
Constant Summary collapse
- @@merged_translations =
nil
- @@i18n_translations =
nil
- @@all =
nil
Instance Attribute Summary collapse
-
#id ⇒ Object
Returns the value of attribute id.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(id) ⇒ Locale
constructor
A new instance of Locale.
- #missing_i18n(ignored_scopes = MissingI18n.ignored_scopes) ⇒ Object
- #to_yaml(ignored_scopes = MissingI18n.ignored_scopes) ⇒ Object
- #translations ⇒ Object
Constructor Details
#initialize(id) ⇒ Locale
Returns a new instance of Locale.
10 11 12 |
# File 'app/models/missing_i18n/locale.rb', line 10 def initialize(id) self.id = id.to_s end |
Instance Attribute Details
#id ⇒ Object
Returns the value of attribute id.
8 9 10 |
# File 'app/models/missing_i18n/locale.rb', line 8 def id @id end |
Class Method Details
.all ⇒ Object
27 28 29 |
# File 'app/models/missing_i18n/locale.rb', line 27 def self.all @@all ||= I18n.available_locales.collect{ |id| new(id) }.sort_by(&:id) end |
.i18n_translations ⇒ Object
41 42 43 44 45 46 47 |
# File 'app/models/missing_i18n/locale.rb', line 41 def self.i18n_translations unless @@i18n_translations I18n.backend.send :init_translations @@i18n_translations = hash_deep_stringify_keys(I18n.backend.send(:translations)) end @@i18n_translations end |
.merged_translations ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'app/models/missing_i18n/locale.rb', line 31 def self.merged_translations unless @@merged_translations @@merged_translations = {} i18n_translations.each do |locale, translations| @@merged_translations = translations.deep_merge(@@merged_translations) end end @@merged_translations end |
Instance Method Details
#missing_i18n(ignored_scopes = MissingI18n.ignored_scopes) ⇒ Object
22 23 24 25 |
# File 'app/models/missing_i18n/locale.rb', line 22 def missing_i18n(ignored_scopes = MissingI18n.ignored_scopes) diff = hash_deep_diff(self.class.merged_translations, self.translations) return hash_filter(diff, [], ignored_scopes) end |
#to_yaml(ignored_scopes = MissingI18n.ignored_scopes) ⇒ Object
14 15 16 |
# File 'app/models/missing_i18n/locale.rb', line 14 def to_yaml(ignored_scopes = MissingI18n.ignored_scopes) {self.id => missing_i18n(ignored_scopes)}.to_yaml end |
#translations ⇒ Object
18 19 20 |
# File 'app/models/missing_i18n/locale.rb', line 18 def translations self.class.i18n_translations[self.id] end |