world-flags 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: