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 +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:
|