Sha256: 3989c9e2144dab35b68a479fa28e4900e895c20c8e79332cf54bce2550cf2dfa
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
module WorldFlags module Util module Country attr_writer :countries_map def country_label code, locale WorldFlags.country code, locale end def countries @countries ||= Countries.new end def country code = :us, locale = :en locale ||= default_locale_used locale_countries_map = countries_map[locale] || countries_map[default_locale_used] locale_countries_map = countries_map[:en] if locale_countries_map.blank? raise "No country-locale map defined for locale: #{locale} or :en in #{countries.inspect}" if locale_countries_map.blank? # raise("No country map defined for country code: #{code} in #{locale_countries_map[code]}") locale_countries_map[code] ? locale_countries_map[code] : locale_countries_map[default_code_used] rescue Exception => e raise e if WorldFlags.raise_error? "Undefined" end def countries= countries raise ArgumentError, "Must be a hash, was: #{countries}" unless !countries || countries.kind_of?(Hash) @countries = countries end def countries_map @countries_map ||= begin available_locales.inject({}) do |res, loc| res[loc] = find_country_map(loc) res end end end def find_country_map loc countries.respond_to?(loc) ? countries.send(loc) : languages.send(locale(loc)) rescue countries.send(default_locale_used) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
world-flags-0.3.6 | lib/world_flags/util/country.rb |
world-flags-0.3.5 | lib/world_flags/util/country.rb |