Sha256: d5b69239a6353b7fb58936bde482d86cf8ceaca5df7f9ca6e8b796859026bf7b

Contents?: true

Size: 1.61 KB

Versions: 12

Compression:

Stored size: 1.61 KB

Contents

module WorldFlags
	module Helper
		module View
			module Util
				def self.label_for options = {}
					label = case options[:content]
					when true 
						name
					when String
						options[:content]
					else
						' '
					end
				end				

				def self.title_for name, options = {}
					case options[:title]
					when true
						name
					when String
						options[:title]
					else
						nil
					end				
				end

				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

				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

				# define more mappings by setting WorldFlags.locale_flag_map to a Hash map
				# http://en.wikipedia.org/wiki/ISO_639-1_language_matrix
				def self.flag_code code
					WorldFlags.flag_code code
				end				
			end
		end
	end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
world-flags-0.5.1 lib/world_flags/helper/view/util.rb
world-flags-0.5.0 lib/world_flags/helper/view/util.rb
world-flags-0.4.9 lib/world_flags/helper/view/util.rb
world-flags-0.4.8.3 lib/world_flags/helper/view/util.rb
world-flags-0.4.8.2 lib/world_flags/helper/view/util.rb
world-flags-0.4.7 lib/world_flags/helper/view/util.rb
world-flags-0.4.5 lib/world_flags/helper/view/util.rb
world-flags-0.4.4 lib/world_flags/helper/view/util.rb
world-flags-0.4.3 lib/world_flags/helper/view/util.rb
world-flags-0.4.2 lib/world_flags/helper/view/util.rb
world-flags-0.4.1 lib/world_flags/helper/view/util.rb
world-flags-0.4.0 lib/world_flags/helper/view/util.rb