Module: WorldFlags::Helper::View::Util
- Defined in:
- lib/world_flags/helper/view/util.rb
Class Method Summary collapse
-
.flag_code(code) ⇒ Object
define more mappings by setting WorldFlags.locale_flag_map to a Hash map en.wikipedia.org/wiki/ISO_639-1_language_matrix.
- .flag_options(code, title, name, options = {}) ⇒ Object
- .flag_selected?(code, options = {}) ⇒ Boolean
- .label_for(options = {}) ⇒ Object
- .title_for(name, options = {}) ⇒ Object
Class Method Details
.flag_code(code) ⇒ Object
define more mappings by setting WorldFlags.locale_flag_map to a Hash map en.wikipedia.org/wiki/ISO_639-1_language_matrix
63 64 65 |
# File 'lib/world_flags/helper/view/util.rb', line 63 def self.flag_code code WorldFlags.flag_code code end |
.flag_options(code, title, name, options = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/world_flags/helper/view/util.rb', line 27 def self. code, title, name, = {} locale = I18n.locale = title ? {:title => title } : {} selected = flag_selected?(code, ) ? ' selected' : '' # add semi class if not selected semi = (selected.blank? ? ' semi' : '') if [:with_semi] xclass = [:class] ? " #{[:class]}" : '' if WorldFlags.country_name_enabled? country_name = WorldFlags.country(code, locale) end country_option = country_name ? {:'data-country_name' => country_name} : {} if WorldFlags.language_name_enabled? language_name = WorldFlags.language(code, locale) end language_option = language_name ? {:'data-language_name' => language_name} : {} flag_locale = WorldFlags.locale(code) {:class => "flag #{code}#{selected}#{semi}#{xclass}", :'data-cc' => code, :'data-locale' => flag_locale}.merge([:html] || {}).merge().merge(country_option).merge(language_option) end |
.flag_selected?(code, options = {}) ⇒ Boolean
51 52 53 54 55 56 57 58 59 |
# File 'lib/world_flags/helper/view/util.rb', line 51 def self.flag_selected? code, = {} code = code.to_sym sel = [:selected] || [code] auto_sel = flag_code(I18n.locale).to_sym if WorldFlags.auto_select? match_locales = [sel, auto_sel] selected ||= match_locales.any?{|e| e == code } end |
.label_for(options = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/world_flags/helper/view/util.rb', line 5 def self.label_for = {} label = case [:content] when true name when String [:content] else WorldFlags.flag_text end end |
.title_for(name, options = {}) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/world_flags/helper/view/util.rb', line 16 def self.title_for name, = {} case [:title] when true name when String [:title] else nil end end |