module I18n::Tasks::Command::OptionParsers::Locale::ListParser

Public Instance Methods

call(vals, context) click to toggle source

@param [#base_locale,#locales] context

# File lib/i18n/tasks/command/option_parsers/locale.rb, line 40
def call(vals, context)
  if vals == %w[all] || vals.blank?
    context.locales
  else
    move_base_locale_to_front!(vals.map { |v| v == 'base' ? context.base_locale : v }, context.base_locale)
  end.tap do |locales|
    locales.each { |locale| validate! locale }
  end
end
move_base_locale_to_front!(locales, base_locale) click to toggle source
# File lib/i18n/tasks/command/option_parsers/locale.rb, line 50
def move_base_locale_to_front!(locales, base_locale)
  if (pos = locales.index(base_locale)) && pos.positive?
    locales[pos], locales[0] = locales[0], locales[pos]
  end
  locales
end