module I18n::Backend::Mongoid::Implementation

Attributes

model[RW]

Public Class Methods

new(model) click to toggle source
# File lib/generators/templates/mongoid.rb, line 10
def initialize(model)
  @model = model
  init_translations
end

Public Instance Methods

available_locales() click to toggle source

Get available locales from the translations hash

# File lib/generators/templates/mongoid.rb, line 31
def available_locales
  init_translations unless initialized?
  translations.inject([]) do |locales, (locale, data)|
    locales << locale unless (data.keys - [:i18n]).empty?
    locales
  end
end
initialized?() click to toggle source
# File lib/generators/templates/mongoid.rb, line 15
def initialized?
  @initialized ||= false
end
reload!() click to toggle source

Clean up translations hash and set initialized to false on reload!

# File lib/generators/templates/mongoid.rb, line 40
def reload!
  @initialized = false
  @translations = nil
  init_translations
end
store_translations(locale, data, options = {}) click to toggle source

Stores translations for the given locale in memory. This uses a deep merge for the translations hash, so existing translations will be overwritten by new ones only at the deepest level of the hash.

# File lib/generators/templates/mongoid.rb, line 23
def store_translations(locale, data, options = {})
  locale = locale.to_sym
  translations[locale] ||= {}
  data = data.deep_symbolize_keys
  translations[locale].deep_merge!(data)
end

Protected Instance Methods

init_translations() click to toggle source
# File lib/generators/templates/mongoid.rb, line 48
def init_translations
  load_translations
  @initialized = true
end
load_translations() click to toggle source
# File lib/generators/templates/mongoid.rb, line 53
def load_translations
  @translations = {}
  @model.all.each{ |t| @lookuptranslations[t.key] = t.value_translations }
end
lookup(locale, key, scope = [], options = {}) click to toggle source
# File lib/generators/templates/mongoid.rb, line 62
def lookup(locale, key, scope = [], options = {})
  init_translations unless initialized?
  #translations.dig(key,value)
   translations[key].blank? ? nil : translations[key][locale]
end
translations() click to toggle source
# File lib/generators/templates/mongoid.rb, line 58
def translations
  @translations ||= {}
end