Module: NumbersAndWords::I18n

Extended by:
I18n
Included in:
I18n
Defined in:
lib/numbers_and_words/i18n.rb,
lib/numbers_and_words/i18n/plurals/es.rb,
lib/numbers_and_words/i18n/plurals/fr.rb,
lib/numbers_and_words/i18n/plurals/lt.rb,
lib/numbers_and_words/i18n/plurals/lv.rb,
lib/numbers_and_words/i18n/plurals/ru.rb,
lib/numbers_and_words/i18n/plurals/ua.rb,
lib/numbers_and_words/i18n/pluralization.rb,
lib/numbers_and_words/i18n/initialization.rb

Defined Under Namespace

Modules: Initialization, Pluralization, Plurals

Instance Method Summary collapse

Instance Method Details

#files(directory, ext) ⇒ Object



29
30
31
# File 'lib/numbers_and_words/i18n.rb', line 29

def files directory, ext
  Dir[File.join File.dirname(__FILE__), "i18n/#{directory}", "**/#{ext}"]
end

#language_class_nameObject



21
22
23
# File 'lib/numbers_and_words/i18n.rb', line 21

def language_class_name
  ::I18n.locale.to_s.titleize.gsub ' ', ''
end

#languagesObject



8
9
10
# File 'lib/numbers_and_words/i18n.rb', line 8

def languages
  @languages ||= (locale_files.map { |path| path.split(/[\/.]/)[-2].to_sym })
end

#local_language(locale = ::I18n.locale) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/numbers_and_words/i18n.rb', line 12

def local_language locale = ::I18n.locale
  if languages.include?(locale)
    locale
  else
    locale = locale.to_s.scan(/\w+/).first.to_sym
    languages.include?(locale) ? locale : raise('Language not supported')
  end
end

#locale_filesObject



25
26
27
# File 'lib/numbers_and_words/i18n.rb', line 25

def locale_files
  files 'locales', '*.*'
end