module CellI18n
Public Instance Methods
i18n(key, locale = i18n_locale)
click to toggle source
# File lib/cell_i18n.rb, line 4 def i18n(key, locale = i18n_locale) translation_path = namespace + [key] dictionaries[locale].dig(*translation_path) end
i18n_file_path()
click to toggle source
# File lib/cell_i18n.rb, line 9 def i18n_file_path "lib/locale".freeze end
i18n_locale()
click to toggle source
# File lib/cell_i18n.rb, line 13 def i18n_locale "en".freeze end
i18n_parser()
click to toggle source
# File lib/cell_i18n.rb, line 17 def i18n_parser [JSON.method(:parse), "json".freeze] end
Private Instance Methods
dictionaries()
click to toggle source
# File lib/cell_i18n.rb, line 25 def dictionaries @@dictionaries ||= begin hash = Hash.new do |hash, locale| parser, extension = i18n_parser dictionary = parser.(File.read(File.join(i18n_file_path, "#{locale}.#{extension}"))) hash[locale] = dictionary end end end
namespace()
click to toggle source
# File lib/cell_i18n.rb, line 21 def namespace self.class.name.split("::".freeze) end