Module: NumbersAndWords::I18n

Defined in:
lib/numbers_and_words/i18n.rb,
lib/numbers_and_words/i18n/plurals/cs.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

Class Method Summary collapse

Class Method Details

.files(directory, ext) ⇒ Object



31
32
33
# File 'lib/numbers_and_words/i18n.rb', line 31

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

.language_class_nameObject



23
24
25
# File 'lib/numbers_and_words/i18n.rb', line 23

def language_class_name
  ::I18n.locale.to_s.split('-').collect(&:capitalize).join
end

.languagesObject



10
11
12
# File 'lib/numbers_and_words/i18n.rb', line 10

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

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



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

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



27
28
29
# File 'lib/numbers_and_words/i18n.rb', line 27

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