localized_country_select 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,15 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'open-uri'
|
3
|
+
require 'active_support/inflector'
|
3
4
|
|
4
5
|
# Rake task for importing country names from Unicode.org's CLDR repository
|
5
6
|
# (http://www.unicode.org/cldr/data/charts/summary/root.html).
|
6
|
-
#
|
7
|
-
# It parses a HTML file from Unicode.org for given locale and saves the
|
7
|
+
#
|
8
|
+
# It parses a HTML file from Unicode.org for given locale and saves the
|
8
9
|
# Rails' I18n hash in the plugin +locale+ directory
|
9
|
-
#
|
10
|
+
#
|
10
11
|
# Don't forget to restart the application when you add new locale to load it into Rails!
|
11
|
-
#
|
12
|
+
#
|
12
13
|
# == Parameters
|
13
14
|
# LOCALE (required): Sets the locale to use. Output file name will include this.
|
14
15
|
# FORMAT (optional): Output format, either 'rb' or 'yml'. Defaults to 'rb' if not specified.
|
@@ -17,7 +18,7 @@ require 'open-uri'
|
|
17
18
|
# == Examples
|
18
19
|
# rake import:country_select LOCALE=de
|
19
20
|
# rake import:country_select LOCALE=pt-BR WEB_LOCALE=pt FORMAT=yml
|
20
|
-
#
|
21
|
+
#
|
21
22
|
# The code is deliberately procedural and simple, so it's easily
|
22
23
|
# understandable by beginners as an introduction to Rake tasks power.
|
23
24
|
# See https://github.com/svenfuchs/ruby-cldr for much more robust solution
|
@@ -32,9 +33,9 @@ namespace :import do
|
|
32
33
|
puts "Error: Hpricot library required to use this task (import:country_select)"
|
33
34
|
exit
|
34
35
|
end
|
35
|
-
|
36
|
+
|
36
37
|
# TODO : Implement locale import chooser from CLDR root via Highline
|
37
|
-
|
38
|
+
|
38
39
|
# Setup variables
|
39
40
|
locale = ENV['LOCALE']
|
40
41
|
unless locale
|
@@ -62,16 +63,17 @@ namespace :import do
|
|
62
63
|
puts "... parsing the HTML file"
|
63
64
|
countries = []
|
64
65
|
doc.search("//tr").each do |row|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
code =
|
66
|
+
n = row.search("td[@class='n']")
|
67
|
+
g = row.search("td[@class='g']")
|
68
|
+
if n && n.inner_html =~ /NamesTerritories/ && g.inner_html =~ /^[A-Z]{2}/
|
69
|
+
code = g.inner_text
|
69
70
|
code = code[-code.size, 2]
|
70
71
|
name = row.search("td[@class='v']").inner_text
|
71
72
|
countries << { :code => code.to_sym, :name => name.to_s }
|
72
|
-
print " ... #{name}"
|
73
|
+
print " ... #{code}: #{name}"
|
73
74
|
end
|
74
75
|
end
|
76
|
+
puts "\n\n... imported countries: #{countries.count}"
|
75
77
|
|
76
78
|
|
77
79
|
# ----- Prepare the output format ------------------------------------------
|
@@ -104,7 +106,7 @@ HEAD
|
|
104
106
|
output << "\t\t\t:#{country[:code]} => \"#{country[:name]}\",\n"
|
105
107
|
end
|
106
108
|
output <<<<TAIL
|
107
|
-
}
|
109
|
+
}
|
108
110
|
|
109
111
|
}
|
110
112
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: localized_country_select
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-10-26 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: actionpack
|
@@ -113,4 +113,3 @@ summary: Localized "country_select" helper with Rake task for downloading locale
|
|
113
113
|
from Unicode.org's CLDR
|
114
114
|
test_files:
|
115
115
|
- test/localized_country_select_test.rb
|
116
|
-
has_rdoc:
|