module LittleWeasel::Modules::Locale::ClassMethods

class method inclusions for convenience.

Public Instance Methods

locale(language:, region: nil) click to toggle source
# File lib/LittleWeasel/modules/locale.rb, line 19
def locale(language:, region: nil)
  raise ArgumentError, 'Argument language does not respond to :downcase' unless language.respond_to? :downcase

  if region.present? && !region.respond_to?(:upcase)
    raise ArgumentError,
      'Argument region does not respond to :upcase'
  end

  language = normalize_language language
  return language.to_s unless region.present?

  region = normalize_region region
  "#{language}-#{region}"
end