class Yatapp::Store

Public Class Methods

add_new_key(key, values) click to toggle source
# File lib/yatapp/store.rb, line 20
def self.add_new_key(key, values)
  values.each do |value|
    unless I18n.available_locales.include?(value['lang'].to_sym)
      add_new_locale(value['lang'])
    end

    key_array        = key.split(".")
    translation_hash = key_array.reverse.inject(value['text']) {|acc, n| {n => acc}}

    I18n.backend.store_translations(value['lang'].to_sym, translation_hash)
    puts "new translation added: #{value['lang']} => #{key}: #{value['text']}"
  end
end
store_translations(lang, api_response) click to toggle source
# File lib/yatapp/store.rb, line 9
def self.store_translations(lang, api_response)
  unless I18n.available_locales.include?(lang.to_sym)
    add_new_locale(lang)
  end

  translations = api_response[lang]

  I18n.backend.store_translations(lang.to_sym, translations)
  puts "Loaded all #{lang} translations."
end

Private Class Methods

add_new_locale(lang) click to toggle source
# File lib/yatapp/store.rb, line 36
def self.add_new_locale(lang)
  existing_locales = I18n.config.available_locales
  new_locales      = existing_locales << lang.to_sym

  I18n.config.available_locales = new_locales.uniq
end