Module: WorldFlags::Helper::View::Util

Defined in:
lib/world_flags/helper/view/util.rb

Class Method Summary collapse

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



55
56
57
# File 'lib/world_flags/helper/view/util.rb', line 55

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
# File 'lib/world_flags/helper/view/util.rb', line 27

def self.flag_options code, title, name, options = {}
	locale = I18n.locale
	extra_options = title ? {:title => title } : {}			
	selected = flag_selected?(code, options) ? ' selected' : ''

	language_name = WorldFlags.language(code, locale)
	country_name = WorldFlags.country(code, locale)

	# add semi class if not selected
	semi = (selected.blank? ? ' semi' : '') if options[:with_semi]

	flag_locale = WorldFlags.locale(code)

	{:class => "flag #{code}#{selected}#{semi}", :'data-country_name' => country_name, :'data-language_name' => language_name, :'data-cc' => code, :'data-locale' => flag_locale}.merge(options[:html] || {}).merge(extra_options)
end

.flag_selected?(code, options = {}) ⇒ Boolean

Returns:

  • (Boolean)


43
44
45
46
47
48
49
50
51
# File 'lib/world_flags/helper/view/util.rb', line 43

def self.flag_selected? code, options = {}
	code = code.to_sym
	sel = options[:selected] || options[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 options = {}
	label = case options[:content]
	when true 
		name
	when String
		options[:content]
	else
		' '
	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, options = {}
	case options[:title]
	when true
		name
	when String
		options[:title]
	else
		nil
	end				
end