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 +9 -0
- data/VERSION +1 -1
- data/lib/generators/world_flags/geoip_generator.rb +3 -4
- data/lib/world-flags.rb +25 -0
- data/lib/world_flags/helper/geo.rb +1 -1
- data/lib/world_flags/helper/view.rb +1 -1
- data/lib/world_flags/helper/view/util.rb +11 -4
- data/lib/world_flags/util/country.rb +4 -0
- data/lib/world_flags/util/language.rb +4 -0
- data/lib/world_flags/util/name_enabler.rb +19 -0
- data/spec/world_flags/helper/util_spec.rb +14 -0
- data/world-flags.gemspec +2 -1
- metadata +3 -2
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.
|
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 ||= '' #' '
|
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,
|
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-
|
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
|
@@ -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.
|
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.
|
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:
|
283
|
+
hash: 3654063232221514543
|
283
284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
284
285
|
none: false
|
285
286
|
requirements:
|