module WorldFlags

Attributes

active_locales[W]
flag_list_tag[W]
flag_tag[W]
flag_text[W]
locale_flag_map[W]

Public Class Methods

config() { |self| ... } click to toggle source
# File lib/world-flags.rb, line 57
def config &block
(block_given? && block.arity == 1) ? yield(self) : instance_eval(&block)
end
country_name_disable!() click to toggle source
# File lib/world-flags.rb, line 36
def country_name_disable!
    WorldFlags::Util::Country.name_disable!
end
country_name_enable!() click to toggle source
# File lib/world-flags.rb, line 28
def country_name_enable!
    WorldFlags::Util::Country.name_enable!
end
country_name_enabled?() click to toggle source
# File lib/world-flags.rb, line 20
def country_name_enabled?
    WorldFlags::Util::Country.name_enabled?
end
domain_locale_map() click to toggle source
# File lib/world-flags.rb, line 81
        def domain_locale_map
                { 
                        :uk => "en_GB",
                        :tp => "tl",
                        :su => 'ru',
                        :an => 'nl'
        }
end
domain_to_locale(code) click to toggle source

avoid uk being translated to ukraine for domain names!

# File lib/world-flags.rb, line 77
def domain_to_locale code
        domain_locale_map[code.to_sym] || flag_locale_map[code.to_sym] || code
end
flag_code(code = :us) click to toggle source
# File lib/world-flags.rb, line 66
def flag_code code = :us
        # ensure that 'en_US' becomes simply 'us'
        code = code.to_s.sub(/^\w+_/, '').downcase
        (locale_flag_map[code.to_sym] || code).to_sym
end
flag_list_tag() click to toggle source
# File lib/world-flags.rb, line 53
def flag_list_tag
        @flag_list_tag ||= :ul
end
flag_locale_map() click to toggle source

see core_ext

# File lib/world-flags.rb, line 97
def flag_locale_map
        @flag_locale_map ||= keys_to_sym(locale_flag_map.hash_revert)
end
flag_tag() click to toggle source
# File lib/world-flags.rb, line 49
def flag_tag
        @flag_tag ||= :li
end
flag_text() click to toggle source
# File lib/world-flags.rb, line 45
def flag_text
        @flag_text ||= '' #'  '
end
label(code = :us, options = {:language => :en}) click to toggle source
# File lib/world-flags.rb, line 61
def label code = :us, options = {:language => :en}
        locale = extract_locale!(options) || default_locale_used || :en
        options[:country] ? country_label(code, locale) : language_label(code, locale)
end
language_name_disable!() click to toggle source
# File lib/world-flags.rb, line 40
def language_name_disable!
    WorldFlags::Util::Language.name_disable!
end
language_name_enable!() click to toggle source
# File lib/world-flags.rb, line 32
def language_name_enable!
    WorldFlags::Util::Language.name_enable!
end
language_name_enabled?() click to toggle source
# File lib/world-flags.rb, line 24
def language_name_enabled?
    WorldFlags::Util::Language.name_enabled?
end
locale(code = :us) click to toggle source
# File lib/world-flags.rb, line 72
def locale code = :us
        flag_locale_map[code.to_sym] || code
end
locale_flag_map() click to toggle source

override using fx 'locale_to_country_code.json' file

# File lib/world-flags.rb, line 92
def locale_flag_map
        @locale_flag_map ||= keys_to_sym(locale_flag_hash) 
end

Protected Class Methods

extract_locale!(options) click to toggle source
# File lib/world-flags.rb, line 119
def extract_locale! options
        options[:country] ? options.delete(:country) : options.delete(:language)
end
keys_to_sym(hash) click to toggle source
# File lib/world-flags.rb, line 103
def keys_to_sym hash
        hash.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
end
locale_flag_hash() click to toggle source
# File lib/world-flags.rb, line 107
        def locale_flag_hash
                { 
                        :en => "us",
                :da => "dk",
                :sv => "se",
                :sq => "al",
                :nb => "no",
                :ja => "jp",
                :uk => "ua"
        }
end