Sha256: 6e4793deffbeb2315ab63541e517dc3dfb39f57eafec1a82e5d672c86d9888fb
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module WorldFlags module LangUtil def language_label code, locale WorldFlags.language code, locale end def language code = :us, locale = :en locale ||= default_locale_used locale_languages_map = languages_map[locale] || languages_map[default_locale_used] locale_languages_map = languages_map[:en] if locale_languages_map.blank? raise "No language-locale map defined for locale: #{locale} or :en in #{languages.inspect}" if locale_languages_map.blank? # raise("No language map defined for language code: #{code} in #{locale_languages_map[code]}") locale_languages_map[code] ? locale_languages_map[code] : locale_languages_map[default_code_used] rescue Exception => e raise e if WorldFlags.raise_error? "Undefined" end def languages @languages ||= Languages.new end def languages= languages raise ArgumentError, "Must be a hash, was: #{languages}" unless languages.kind_of?(Hash) @languages = languages end def languages_map @languages_map ||= begin active_locales.inject({}) do |res, loc| res[loc] = find_language_map(loc) res end end end def find_language_map loc languages.respond_to?(loc) ? languages.send(loc) : languages.send(locale(loc)) rescue languages.send(default_locale_used) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
world-flags-0.3.4 | lib/world_flags/lang_util.rb |