world-flags 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -135,6 +135,15 @@ To get content rendered for the <li>
135
135
 
136
136
  Note: There is also a #flag_selected? helper, which is (and/or can be) used to determine if the flag to be drawn should have the "selected" class set)
137
137
 
138
+ ## Configuration
139
+
140
+ To disable use of country- and language name data attributes in output:
141
+
142
+ ```ruby
143
+ WorldFlags.country_name_disable!
144
+ WorldFlags.language_name_disable!
145
+ ```
146
+
138
147
  ## Customizing output
139
148
 
140
149
  You can customize the output by the flag view helper methods:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -14,7 +14,6 @@ module WorldFlags
14
14
  source_root File.dirname(__FILE__)
15
15
 
16
16
  def main_flow
17
- puts "local: #{local?}"
18
17
  local? ? copy_local : download_latest
19
18
  end
20
19
 
@@ -34,7 +33,7 @@ module WorldFlags
34
33
  # # resource.on_redirect { |req, resp| resp.header['Location'] =~ /example.com/ }
35
34
  # resp = resource.get # Will only follow the redirect if the new location is example.com
36
35
 
37
- puts "get: #{file_name} from #{zip_adr}"
36
+ # puts "get: #{file_name} from #{zip_adr}"
38
37
 
39
38
  agent = Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari'}
40
39
  agent.robots = false
@@ -48,10 +47,10 @@ module WorldFlags
48
47
  # zip_file.write(resp.body)
49
48
  # end
50
49
  #zf is an instance of class Tempfile
51
- puts "zip path: #{zf.path}"
50
+ # puts "zip path: #{zf.path}"
52
51
 
53
52
  Zip::ZipFile.open(file_name) do |zipfile|
54
- puts "zipfile: #{zipfile}"
53
+ # puts "zipfile: #{zipfile}"
55
54
  #zipfile.class is Zip::ZipFile
56
55
  zipfile.each do |e|
57
56
  #e is an instance of Zip::ZipEntry
data/lib/world-flags.rb CHANGED
@@ -17,6 +17,31 @@ module WorldFlags
17
17
 
18
18
  attr_writer :flag_tag, :flag_list_tag, :flag_text
19
19
 
20
+ def country_name_enabled?
21
+ WorldFlags::Util::Country.name_enabled?
22
+ end
23
+
24
+ def language_name_enabled?
25
+ WorldFlags::Util::Language.name_enabled?
26
+ end
27
+
28
+ def country_name_enable!
29
+ WorldFlags::Util::Country.name_enable!
30
+ end
31
+
32
+ def language_name_enable!
33
+ WorldFlags::Util::Language.name_enable!
34
+ end
35
+
36
+ def country_name_disable!
37
+ WorldFlags::Util::Country.name_disable!
38
+ end
39
+
40
+ def language_name_disable!
41
+ WorldFlags::Util::Language.name_disable!
42
+ end
43
+
44
+
20
45
  def flag_text
21
46
  @flag_text ||= '' #' &nbsp;'
22
47
  end
@@ -7,7 +7,7 @@ module WorldFlags
7
7
  ip ||= request.remote_ip
8
8
  raise WorldFlags::GeoIPError, "IP address #{ip} is a localhost address" if local_ip?(ip)
9
9
 
10
- puts "find country code for ip: #{ip}" if debug?
10
+ # puts "find country code for ip: #{ip}" if debug?
11
11
 
12
12
  @geoip ||= ::GeoIP.new WorldFlags.geo_ip_db_path
13
13
  country = @geoip.country(ip)
@@ -48,7 +48,7 @@ module WorldFlags
48
48
  label = WorldFlags::Helper::View::Util.label_for options
49
49
  title = WorldFlags::Helper::View::Util.title_for name, options
50
50
 
51
- content_tag WorldFlags.flag_tag, label.html_safe, WorldFlags::Helper::View::Util.flag_options(code, title, name, options)
51
+ content_tag WorldFlags.flag_tag, label.html_safe, WorldFlags::Helper::View::Util.flag_options(code, title, name, options)
52
52
  end
53
53
 
54
54
  def flag_title code, *args
@@ -29,16 +29,23 @@ module WorldFlags
29
29
  extra_options = title ? {:title => title } : {}
30
30
  selected = flag_selected?(code, options) ? ' selected' : ''
31
31
 
32
- language_name = WorldFlags.language(code, locale)
33
- country_name = WorldFlags.country(code, locale)
34
-
35
32
  # add semi class if not selected
36
33
  semi = (selected.blank? ? ' semi' : '') if options[:with_semi]
37
34
  xclass = options[:class] ? " #{options[:class]}" : ''
38
35
 
36
+ if WorldFlags.country_name_enabled?
37
+ country_name = WorldFlags.country(code, locale)
38
+ end
39
+ country_option = country_name ? {:'data-country_name' => country_name} : {}
40
+
41
+ if WorldFlags.language_name_enabled?
42
+ language_name = WorldFlags.language(code, locale)
43
+ end
44
+ language_option = language_name ? {:'data-language_name' => language_name} : {}
45
+
39
46
  flag_locale = WorldFlags.locale(code)
40
47
 
41
- {:class => "flag #{code}#{selected}#{semi}#{xclass}", :'data-country_name' => country_name, :'data-language_name' => language_name, :'data-cc' => code, :'data-locale' => flag_locale}.merge(options[:html] || {}).merge(extra_options)
48
+ {:class => "flag #{code}#{selected}#{semi}#{xclass}", :'data-cc' => code, :'data-locale' => flag_locale}.merge(options[:html] || {}).merge(extra_options).merge(country_option).merge(language_option)
42
49
  end
43
50
 
44
51
  def self.flag_selected? code, options = {}
@@ -1,8 +1,12 @@
1
+ require 'world_flags/util/name_enabler'
2
+
1
3
  module WorldFlags
2
4
  module Util
3
5
  module Country
4
6
  attr_writer :countries_map, :hashied_countries
5
7
 
8
+ extend WorldFlags::Util::NameEnabler
9
+
6
10
  def country_label code, locale
7
11
  WorldFlags.country code, locale
8
12
  end
@@ -1,8 +1,12 @@
1
+ require 'world_flags/util/name_enabler'
2
+
1
3
  module WorldFlags
2
4
  module Util
3
5
  module Language
4
6
  attr_writer :languages_map, :hashied_languages
5
7
 
8
+ extend WorldFlags::Util::NameEnabler
9
+
6
10
  def language_label code, locale
7
11
  language code, locale
8
12
  end
@@ -0,0 +1,19 @@
1
+ module WorldFlags
2
+ module Util
3
+ module NameEnabler
4
+ attr_writer :name_enabled
5
+
6
+ def name_enabled?
7
+ @name_enabled.nil? ? true : @name_enabled
8
+ end
9
+
10
+ def name_disable!
11
+ @name_enabled = false
12
+ end
13
+
14
+ def name_enable!
15
+ @name_enabled = true
16
+ end
17
+ end
18
+ end
19
+ end
@@ -33,4 +33,18 @@ describe WorldFlags::Helper::View do
33
33
  output.should == "<div class=\"f32 flags\"><span class=\"flag ar\" data-cc=\"ar\" data-country_name=\"Argentina\" data-language_name=\"Spanish\" data-locale=\"ar\"></span></div>"
34
34
  end
35
35
  end
36
+
37
+ describe 'disable country and language names' do
38
+ before :each do
39
+ WorldFlags.country_name_disable!
40
+ WorldFlags.language_name_disable!
41
+ end
42
+
43
+ it "should list flags using customized tags and text" do
44
+ output = flags_list 32 do
45
+ flags [:ar]
46
+ end
47
+ output.should == "<div class=\"f32 flags\"><span class=\"flag ar\" data-cc=\"ar\" data-locale=\"ar\"></span></div>"
48
+ end
49
+ end
36
50
  end
data/world-flags.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "world-flags"
8
- s.version = "0.6.0"
8
+ s.version = "0.6.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kristian Mandrup"]
@@ -53,6 +53,7 @@ Gem::Specification.new do |s|
53
53
  "lib/world_flags/util/config.rb",
54
54
  "lib/world_flags/util/country.rb",
55
55
  "lib/world_flags/util/language.rb",
56
+ "lib/world_flags/util/name_enabler.rb",
56
57
  "sandbox/country_codes_table.html",
57
58
  "sandbox/extract_codes.rb",
58
59
  "sandbox/languages_country_extract.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: world-flags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -215,6 +215,7 @@ files:
215
215
  - lib/world_flags/util/config.rb
216
216
  - lib/world_flags/util/country.rb
217
217
  - lib/world_flags/util/language.rb
218
+ - lib/world_flags/util/name_enabler.rb
218
219
  - sandbox/country_codes_table.html
219
220
  - sandbox/extract_codes.rb
220
221
  - sandbox/languages_country_extract.rb
@@ -279,7 +280,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
279
280
  version: '0'
280
281
  segments:
281
282
  - 0
282
- hash: 3232488159583749
283
+ hash: 3654063232221514543
283
284
  required_rubygems_version: !ruby/object:Gem::Requirement
284
285
  none: false
285
286
  requirements: