countries 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -0
- data/Gemfile +1 -3
- data/README.markdown +50 -47
- data/VERSION +1 -1
- data/countries.gemspec +217 -227
- data/lib/countries/country.rb +4 -1
- data/spec/country_spec.rb +4 -0
- metadata +18 -81
data/.gitignore
ADDED
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -3,20 +3,16 @@ Countries
|
|
3
3
|
|
4
4
|
Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard. It contains info for the following standards ISO3166-1(countries), ISO3166-2(states/subdivisions), ISO4217(currency) and E.164(phone numbers). The gem also adds a country_select helper. I will add any country based data I can get access to. I hope this to be a repository for all country based information.
|
5
5
|
|
6
|
-
Warning!
|
7
|
-
--------
|
8
|
-
|
9
|
-
The data in this gem is collected from many different sources including [CommonDataHub][] and represents a best effort to be accurate and up to date. It is used at your own risk.
|
10
|
-
|
11
6
|
Installation
|
12
7
|
------------
|
13
8
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
sudo gem install countries
|
9
|
+
gem install countries
|
10
|
+
|
11
|
+
If you’re in Rails 2.3 or earlier, place this in your environment.rb:
|
18
12
|
|
19
|
-
|
13
|
+
config.gem 'countries'
|
14
|
+
|
15
|
+
Or you can install via bundler Gemfile if you are using Rails 3:
|
20
16
|
|
21
17
|
gem 'countries'
|
22
18
|
|
@@ -43,29 +39,46 @@ Simply load a new country object using Country.new(*alpha2*) or the shortcut Cou
|
|
43
39
|
Country Info
|
44
40
|
------------
|
45
41
|
|
46
|
-
|
47
|
-
|
48
|
-
c.
|
49
|
-
|
50
|
-
c.
|
51
|
-
c.names # ISO3166 alternate names
|
52
|
-
|
53
|
-
c.latitude # uuuh the latitude
|
54
|
-
c.longitude # obvious?
|
42
|
+
Identification Codes
|
43
|
+
|
44
|
+
c.number #=> "840"
|
45
|
+
c.alpha2 #=> "US"
|
46
|
+
c.alpha3 #=> "USA"
|
55
47
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
c.
|
48
|
+
Names
|
49
|
+
|
50
|
+
c.name #=> "United States"
|
51
|
+
c.names #=> ["United States of America", "Vereinigte Staaten von Amerika", "États-Unis", "Estados Unidos"]
|
52
|
+
|
53
|
+
Subdivisions & States
|
54
|
+
|
55
|
+
c.subdivisions #=> {"CO" => {:name => "Colorado", :names => "Colorado"}, ... }
|
56
|
+
c.states #=> {"CO" => {:name => "Colorado", :names => "Colorado"}, ... }
|
57
|
+
|
58
|
+
Location
|
59
|
+
|
60
|
+
c.latitude #=> "38 00 N"
|
61
|
+
c.longitude #=> "97 00 W"
|
62
|
+
|
63
|
+
c.region #=> "Americas"
|
64
|
+
c.subregion #=> "Northern America"
|
65
|
+
|
66
|
+
Telephone Routing (E164)
|
67
|
+
|
68
|
+
c.country_code #=> "1"
|
69
|
+
c.national_destination_code_lengths #=> 3
|
70
|
+
c.national_number_lengths #=> 10
|
71
|
+
c.international_prefix #=> "011"
|
72
|
+
c.national_prefix #=> "1"
|
60
73
|
|
61
74
|
Currencies
|
62
75
|
----------
|
63
76
|
|
64
77
|
Countries now uses the [Currencies][] gem. What this means is you now get back a Currency object that gives you access to all the currency information. It acts the same as a hash so the same ['name'] methods still work.
|
65
78
|
|
66
|
-
c.currency['code']
|
67
|
-
c.currency['name']
|
68
|
-
c.currency['symbol']
|
79
|
+
c.currency['code'] #=> 'USD'
|
80
|
+
c.currency['name'] #=> 'Dollars'
|
81
|
+
c.currency['symbol'] #=> '$'
|
69
82
|
|
70
83
|
If a country has an alternate currency it can be accessed via the *alt_currency* method and will also return a Currency object.
|
71
84
|
|
@@ -73,36 +86,25 @@ Since we are using the [Currencies][] gem we get a bonus ExchangeBank that can b
|
|
73
86
|
|
74
87
|
Money.default_bank = Currency::ExchangeBank.new
|
75
88
|
Money.us_dollar(100).exchange_to("CAD") # => Money.new(124, "CAD")
|
76
|
-
|
77
|
-
Telephone Routing (E164)
|
78
|
-
------------------------
|
79
|
-
|
80
|
-
c.country_code # E.164 Country Code
|
81
|
-
c.national_destination_code_lengths # E.164 length of national destination code
|
82
|
-
c.national_number_lengths # E.164 length of the national number
|
83
|
-
c.international_prefix # E.164 code for dialing international from country
|
84
|
-
c.national_prefix # E164 code for dialing within the country
|
85
89
|
|
86
90
|
Address Formatting
|
87
91
|
------------------
|
88
92
|
|
89
|
-
A template for formatting addresses is available through the address_format method.
|
93
|
+
A template for formatting addresses is available through the address_format method. These templates are compatible with the [Liquid][] template system.
|
90
94
|
|
91
|
-
c.address_format
|
95
|
+
c.address_format #=> "{{recipient}}\n{{street}}\n{{city}} {{region}} {{postalcode}}\n{{country}}"
|
92
96
|
|
93
97
|
|
94
98
|
ToDo
|
95
99
|
----
|
96
100
|
|
97
|
-
*
|
98
|
-
*
|
99
|
-
*
|
100
|
-
*
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
This gem is sponsored by [Teliax][]. [Teliax][] makes business class Voice, [Centrex][](Including Hosted: IVRs, Ring Groups, Extensions and Day Night Mode) and Data services accessible to anyone. You don't have to be a fortune 500 to sound big!
|
101
|
+
* Mongoid support
|
102
|
+
* State select
|
103
|
+
* Class methods for looking up information
|
104
|
+
* Default country
|
105
|
+
* Exclude countries
|
106
|
+
* Preferred countries
|
107
|
+
* Whitelist countries
|
106
108
|
|
107
109
|
Note on Patches/Pull Requests
|
108
110
|
-----------------------------
|
@@ -119,7 +121,7 @@ Note on Patches/Pull Requests
|
|
119
121
|
Copyright
|
120
122
|
---------
|
121
123
|
|
122
|
-
Copyright (c)
|
124
|
+
Copyright (c) 2011 hexorx. See LICENSE for details.
|
123
125
|
|
124
126
|
|
125
127
|
[Teliax]: http://teliax.com
|
@@ -127,3 +129,4 @@ Copyright (c) 2009 hexorx. See LICENSE for details.
|
|
127
129
|
[CommonDataHub]: http://commondatahub.com
|
128
130
|
[Currencies]: http://gemcutter.org/gems/currencies
|
129
131
|
[Money]: http://gemcutter.org/gems/money
|
132
|
+
[Liquid]: http://www.liquidmarkup.org/
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
data/countries.gemspec
CHANGED
@@ -1,241 +1,243 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{countries}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["hexorx"]
|
12
|
-
s.date = %q{2011-02-
|
12
|
+
s.date = %q{2011-02-17}
|
13
13
|
s.description = %q{All sorts of useful information about every country packaged as pretty little country objects. It includes data from ISO 3166 (countries and subdivisions), ISO 4217 (currency), and E.164 (phone numbers). As a bonus it even adds a country_select helper to rails projects.}
|
14
14
|
s.email = %q{hexorx@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
|
17
|
+
"README.markdown"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
21
|
+
".gitignore",
|
22
|
+
".rvmrc",
|
23
|
+
"Gemfile",
|
24
|
+
"Gemfile.lock",
|
25
|
+
"LICENSE",
|
26
|
+
"README.markdown",
|
27
|
+
"Rakefile",
|
28
|
+
"VERSION",
|
29
|
+
"countries.gemspec",
|
30
|
+
"lib/countries.rb",
|
31
|
+
"lib/countries/country.rb",
|
32
|
+
"lib/countries/select_helper.rb",
|
33
|
+
"lib/data/countries.yaml",
|
34
|
+
"lib/data/subdivisions/AD.yaml",
|
35
|
+
"lib/data/subdivisions/AE.yaml",
|
36
|
+
"lib/data/subdivisions/AF.yaml",
|
37
|
+
"lib/data/subdivisions/AG.yaml",
|
38
|
+
"lib/data/subdivisions/AL.yaml",
|
39
|
+
"lib/data/subdivisions/AM.yaml",
|
40
|
+
"lib/data/subdivisions/AO.yaml",
|
41
|
+
"lib/data/subdivisions/AR.yaml",
|
42
|
+
"lib/data/subdivisions/AT.yaml",
|
43
|
+
"lib/data/subdivisions/AU.yaml",
|
44
|
+
"lib/data/subdivisions/AZ.yaml",
|
45
|
+
"lib/data/subdivisions/BA.yaml",
|
46
|
+
"lib/data/subdivisions/BB.yaml",
|
47
|
+
"lib/data/subdivisions/BD.yaml",
|
48
|
+
"lib/data/subdivisions/BE.yaml",
|
49
|
+
"lib/data/subdivisions/BF.yaml",
|
50
|
+
"lib/data/subdivisions/BG.yaml",
|
51
|
+
"lib/data/subdivisions/BH.yaml",
|
52
|
+
"lib/data/subdivisions/BI.yaml",
|
53
|
+
"lib/data/subdivisions/BJ.yaml",
|
54
|
+
"lib/data/subdivisions/BN.yaml",
|
55
|
+
"lib/data/subdivisions/BO.yaml",
|
56
|
+
"lib/data/subdivisions/BR.yaml",
|
57
|
+
"lib/data/subdivisions/BS.yaml",
|
58
|
+
"lib/data/subdivisions/BT.yaml",
|
59
|
+
"lib/data/subdivisions/BW.yaml",
|
60
|
+
"lib/data/subdivisions/BY.yaml",
|
61
|
+
"lib/data/subdivisions/BZ.yaml",
|
62
|
+
"lib/data/subdivisions/CA.yaml",
|
63
|
+
"lib/data/subdivisions/CD.yaml",
|
64
|
+
"lib/data/subdivisions/CF.yaml",
|
65
|
+
"lib/data/subdivisions/CG.yaml",
|
66
|
+
"lib/data/subdivisions/CH.yaml",
|
67
|
+
"lib/data/subdivisions/CI.yaml",
|
68
|
+
"lib/data/subdivisions/CL.yaml",
|
69
|
+
"lib/data/subdivisions/CM.yaml",
|
70
|
+
"lib/data/subdivisions/CN.yaml",
|
71
|
+
"lib/data/subdivisions/CO.yaml",
|
72
|
+
"lib/data/subdivisions/CR.yaml",
|
73
|
+
"lib/data/subdivisions/CU.yaml",
|
74
|
+
"lib/data/subdivisions/CV.yaml",
|
75
|
+
"lib/data/subdivisions/CY.yaml",
|
76
|
+
"lib/data/subdivisions/CZ.yaml",
|
77
|
+
"lib/data/subdivisions/DE.yaml",
|
78
|
+
"lib/data/subdivisions/DJ.yaml",
|
79
|
+
"lib/data/subdivisions/DK.yaml",
|
80
|
+
"lib/data/subdivisions/DM.yaml",
|
81
|
+
"lib/data/subdivisions/DO.yaml",
|
82
|
+
"lib/data/subdivisions/DZ.yaml",
|
83
|
+
"lib/data/subdivisions/EC.yaml",
|
84
|
+
"lib/data/subdivisions/EE.yaml",
|
85
|
+
"lib/data/subdivisions/EG.yaml",
|
86
|
+
"lib/data/subdivisions/EH.yaml",
|
87
|
+
"lib/data/subdivisions/ER.yaml",
|
88
|
+
"lib/data/subdivisions/ES.yaml",
|
89
|
+
"lib/data/subdivisions/ET.yaml",
|
90
|
+
"lib/data/subdivisions/FI.yaml",
|
91
|
+
"lib/data/subdivisions/FJ.yaml",
|
92
|
+
"lib/data/subdivisions/FM.yaml",
|
93
|
+
"lib/data/subdivisions/FR.yaml",
|
94
|
+
"lib/data/subdivisions/GA.yaml",
|
95
|
+
"lib/data/subdivisions/GB.yaml",
|
96
|
+
"lib/data/subdivisions/GD.yaml",
|
97
|
+
"lib/data/subdivisions/GE.yaml",
|
98
|
+
"lib/data/subdivisions/GH.yaml",
|
99
|
+
"lib/data/subdivisions/GM.yaml",
|
100
|
+
"lib/data/subdivisions/GN.yaml",
|
101
|
+
"lib/data/subdivisions/GQ.yaml",
|
102
|
+
"lib/data/subdivisions/GR.yaml",
|
103
|
+
"lib/data/subdivisions/GT.yaml",
|
104
|
+
"lib/data/subdivisions/GW.yaml",
|
105
|
+
"lib/data/subdivisions/GY.yaml",
|
106
|
+
"lib/data/subdivisions/HN.yaml",
|
107
|
+
"lib/data/subdivisions/HR.yaml",
|
108
|
+
"lib/data/subdivisions/HT.yaml",
|
109
|
+
"lib/data/subdivisions/HU.yaml",
|
110
|
+
"lib/data/subdivisions/ID.yaml",
|
111
|
+
"lib/data/subdivisions/IE.yaml",
|
112
|
+
"lib/data/subdivisions/IL.yaml",
|
113
|
+
"lib/data/subdivisions/IN.yaml",
|
114
|
+
"lib/data/subdivisions/IQ.yaml",
|
115
|
+
"lib/data/subdivisions/IR.yaml",
|
116
|
+
"lib/data/subdivisions/IS.yaml",
|
117
|
+
"lib/data/subdivisions/IT.yaml",
|
118
|
+
"lib/data/subdivisions/JM.yaml",
|
119
|
+
"lib/data/subdivisions/JO.yaml",
|
120
|
+
"lib/data/subdivisions/JP.yaml",
|
121
|
+
"lib/data/subdivisions/KE.yaml",
|
122
|
+
"lib/data/subdivisions/KG.yaml",
|
123
|
+
"lib/data/subdivisions/KH.yaml",
|
124
|
+
"lib/data/subdivisions/KI.yaml",
|
125
|
+
"lib/data/subdivisions/KM.yaml",
|
126
|
+
"lib/data/subdivisions/KN.yaml",
|
127
|
+
"lib/data/subdivisions/KP.yaml",
|
128
|
+
"lib/data/subdivisions/KR.yaml",
|
129
|
+
"lib/data/subdivisions/KW.yaml",
|
130
|
+
"lib/data/subdivisions/KZ.yaml",
|
131
|
+
"lib/data/subdivisions/Ky.yaml",
|
132
|
+
"lib/data/subdivisions/LA.yaml",
|
133
|
+
"lib/data/subdivisions/LB.yaml",
|
134
|
+
"lib/data/subdivisions/LI.yaml",
|
135
|
+
"lib/data/subdivisions/LK.yaml",
|
136
|
+
"lib/data/subdivisions/LR.yaml",
|
137
|
+
"lib/data/subdivisions/LS.yaml",
|
138
|
+
"lib/data/subdivisions/LT.yaml",
|
139
|
+
"lib/data/subdivisions/LU.yaml",
|
140
|
+
"lib/data/subdivisions/LV.yaml",
|
141
|
+
"lib/data/subdivisions/LY.yaml",
|
142
|
+
"lib/data/subdivisions/MA.yaml",
|
143
|
+
"lib/data/subdivisions/MD.yaml",
|
144
|
+
"lib/data/subdivisions/ME.yaml",
|
145
|
+
"lib/data/subdivisions/MG.yaml",
|
146
|
+
"lib/data/subdivisions/MH.yaml",
|
147
|
+
"lib/data/subdivisions/MK.yaml",
|
148
|
+
"lib/data/subdivisions/ML.yaml",
|
149
|
+
"lib/data/subdivisions/MM.yaml",
|
150
|
+
"lib/data/subdivisions/MN.yaml",
|
151
|
+
"lib/data/subdivisions/MR.yaml",
|
152
|
+
"lib/data/subdivisions/MU.yaml",
|
153
|
+
"lib/data/subdivisions/MV.yaml",
|
154
|
+
"lib/data/subdivisions/MW.yaml",
|
155
|
+
"lib/data/subdivisions/MX.yaml",
|
156
|
+
"lib/data/subdivisions/MY.yaml",
|
157
|
+
"lib/data/subdivisions/MZ.yaml",
|
158
|
+
"lib/data/subdivisions/NA.yaml",
|
159
|
+
"lib/data/subdivisions/NE.yaml",
|
160
|
+
"lib/data/subdivisions/NG.yaml",
|
161
|
+
"lib/data/subdivisions/NI.yaml",
|
162
|
+
"lib/data/subdivisions/NL.yaml",
|
163
|
+
"lib/data/subdivisions/NO.yaml",
|
164
|
+
"lib/data/subdivisions/NP.yaml",
|
165
|
+
"lib/data/subdivisions/NR.yaml",
|
166
|
+
"lib/data/subdivisions/NZ.yaml",
|
167
|
+
"lib/data/subdivisions/OM.yaml",
|
168
|
+
"lib/data/subdivisions/PA.yaml",
|
169
|
+
"lib/data/subdivisions/PE.yaml",
|
170
|
+
"lib/data/subdivisions/PG.yaml",
|
171
|
+
"lib/data/subdivisions/PH.yaml",
|
172
|
+
"lib/data/subdivisions/PK.yaml",
|
173
|
+
"lib/data/subdivisions/PL.yaml",
|
174
|
+
"lib/data/subdivisions/PT.yaml",
|
175
|
+
"lib/data/subdivisions/PW.yaml",
|
176
|
+
"lib/data/subdivisions/PY.yaml",
|
177
|
+
"lib/data/subdivisions/QA.yaml",
|
178
|
+
"lib/data/subdivisions/RO.yaml",
|
179
|
+
"lib/data/subdivisions/RS.yaml",
|
180
|
+
"lib/data/subdivisions/RU.yaml",
|
181
|
+
"lib/data/subdivisions/RW.yaml",
|
182
|
+
"lib/data/subdivisions/SA.yaml",
|
183
|
+
"lib/data/subdivisions/SB.yaml",
|
184
|
+
"lib/data/subdivisions/SC.yaml",
|
185
|
+
"lib/data/subdivisions/SD.yaml",
|
186
|
+
"lib/data/subdivisions/SE.yaml",
|
187
|
+
"lib/data/subdivisions/SG.yaml",
|
188
|
+
"lib/data/subdivisions/SH.yaml",
|
189
|
+
"lib/data/subdivisions/SI.yaml",
|
190
|
+
"lib/data/subdivisions/SK.yaml",
|
191
|
+
"lib/data/subdivisions/SL.yaml",
|
192
|
+
"lib/data/subdivisions/SM.yaml",
|
193
|
+
"lib/data/subdivisions/SN.yaml",
|
194
|
+
"lib/data/subdivisions/SO.yaml",
|
195
|
+
"lib/data/subdivisions/SR.yaml",
|
196
|
+
"lib/data/subdivisions/ST.yaml",
|
197
|
+
"lib/data/subdivisions/SV.yaml",
|
198
|
+
"lib/data/subdivisions/SY.yaml",
|
199
|
+
"lib/data/subdivisions/SZ.yaml",
|
200
|
+
"lib/data/subdivisions/TD.yaml",
|
201
|
+
"lib/data/subdivisions/TF.yaml",
|
202
|
+
"lib/data/subdivisions/TG.yaml",
|
203
|
+
"lib/data/subdivisions/TH.yaml",
|
204
|
+
"lib/data/subdivisions/TL.yaml",
|
205
|
+
"lib/data/subdivisions/TM.yaml",
|
206
|
+
"lib/data/subdivisions/TN.yaml",
|
207
|
+
"lib/data/subdivisions/TO.yaml",
|
208
|
+
"lib/data/subdivisions/TR.yaml",
|
209
|
+
"lib/data/subdivisions/TT.yaml",
|
210
|
+
"lib/data/subdivisions/TV.yaml",
|
211
|
+
"lib/data/subdivisions/TW.yaml",
|
212
|
+
"lib/data/subdivisions/TZ.yaml",
|
213
|
+
"lib/data/subdivisions/Tj.yaml",
|
214
|
+
"lib/data/subdivisions/UA.yaml",
|
215
|
+
"lib/data/subdivisions/UG.yaml",
|
216
|
+
"lib/data/subdivisions/UM.yaml",
|
217
|
+
"lib/data/subdivisions/US.yaml",
|
218
|
+
"lib/data/subdivisions/UY.yaml",
|
219
|
+
"lib/data/subdivisions/UZ.yaml",
|
220
|
+
"lib/data/subdivisions/VC.yaml",
|
221
|
+
"lib/data/subdivisions/VE.yaml",
|
222
|
+
"lib/data/subdivisions/VN.yaml",
|
223
|
+
"lib/data/subdivisions/VU.yaml",
|
224
|
+
"lib/data/subdivisions/WS.yaml",
|
225
|
+
"lib/data/subdivisions/YE.yaml",
|
226
|
+
"lib/data/subdivisions/ZA.yaml",
|
227
|
+
"lib/data/subdivisions/ZM.yaml",
|
228
|
+
"lib/data/subdivisions/ZW.yaml",
|
229
|
+
"lib/iso3166.rb",
|
230
|
+
"spec/country_spec.rb",
|
231
|
+
"spec/spec_helper.rb"
|
231
232
|
]
|
232
233
|
s.homepage = %q{http://github.com/hexorx/countries}
|
234
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
233
235
|
s.require_paths = ["lib"]
|
234
236
|
s.rubygems_version = %q{1.3.7}
|
235
237
|
s.summary = %q{Gives you a country object full of all sorts of useful information.}
|
236
238
|
s.test_files = [
|
237
239
|
"spec/country_spec.rb",
|
238
|
-
|
240
|
+
"spec/spec_helper.rb"
|
239
241
|
]
|
240
242
|
|
241
243
|
if s.respond_to? :specification_version then
|
@@ -243,27 +245,15 @@ Gem::Specification.new do |s|
|
|
243
245
|
s.specification_version = 3
|
244
246
|
|
245
247
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
246
|
-
s.add_runtime_dependency(%q<jeweler>, ["= 1.4.0"])
|
247
|
-
s.add_runtime_dependency(%q<rspec>, ["= 1.3.1"])
|
248
|
-
s.add_runtime_dependency(%q<currencies>, ["= 0.4.0"])
|
249
|
-
s.add_runtime_dependency(%q<yard>, ["= 0.6.4"])
|
250
248
|
s.add_runtime_dependency(%q<currencies>, [">= 0.2.0"])
|
251
249
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
252
250
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
253
251
|
else
|
254
|
-
s.add_dependency(%q<jeweler>, ["= 1.4.0"])
|
255
|
-
s.add_dependency(%q<rspec>, ["= 1.3.1"])
|
256
|
-
s.add_dependency(%q<currencies>, ["= 0.4.0"])
|
257
|
-
s.add_dependency(%q<yard>, ["= 0.6.4"])
|
258
252
|
s.add_dependency(%q<currencies>, [">= 0.2.0"])
|
259
253
|
s.add_dependency(%q<rspec>, [">= 0"])
|
260
254
|
s.add_dependency(%q<yard>, [">= 0"])
|
261
255
|
end
|
262
256
|
else
|
263
|
-
s.add_dependency(%q<jeweler>, ["= 1.4.0"])
|
264
|
-
s.add_dependency(%q<rspec>, ["= 1.3.1"])
|
265
|
-
s.add_dependency(%q<currencies>, ["= 0.4.0"])
|
266
|
-
s.add_dependency(%q<yard>, ["= 0.6.4"])
|
267
257
|
s.add_dependency(%q<currencies>, [">= 0.2.0"])
|
268
258
|
s.add_dependency(%q<rspec>, [">= 0"])
|
269
259
|
s.add_dependency(%q<yard>, [">= 0"])
|
data/lib/countries/country.rb
CHANGED
@@ -56,8 +56,11 @@ class ISO3166::Country
|
|
56
56
|
def subdivisions
|
57
57
|
@subdivisions ||= subdivisions? ? YAML.load_file(File.join(File.dirname(__FILE__), '..', 'data', 'subdivisions', "#{alpha2}.yaml")) : {}
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
|
+
alias :states :subdivisions
|
61
|
+
|
60
62
|
def subdivisions?
|
61
63
|
File.exist?(File.join(File.dirname(__FILE__), '..', 'data', 'subdivisions', "#{alpha2}.yaml"))
|
62
64
|
end
|
65
|
+
|
63
66
|
end
|
data/spec/country_spec.rb
CHANGED
@@ -70,6 +70,10 @@ describe ISO3166::Country do
|
|
70
70
|
it 'should return a hash with all sub divisions' do
|
71
71
|
country.subdivisions.should have(57).states
|
72
72
|
end
|
73
|
+
|
74
|
+
it 'should be available through states' do
|
75
|
+
country.states.should have(57).states
|
76
|
+
end
|
73
77
|
end
|
74
78
|
|
75
79
|
describe 'search' do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: countries
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 9
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 1
|
10
|
+
version: 0.5.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- hexorx
|
@@ -15,78 +15,13 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
18
|
+
date: 2011-02-17 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
name: jeweler
|
25
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
|
-
requirements:
|
28
|
-
- - "="
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
hash: 7
|
31
|
-
segments:
|
32
|
-
- 1
|
33
|
-
- 4
|
34
|
-
- 0
|
35
|
-
version: 1.4.0
|
36
|
-
requirement: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
name: rspec
|
41
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
|
-
requirements:
|
44
|
-
- - "="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
hash: 25
|
47
|
-
segments:
|
48
|
-
- 1
|
49
|
-
- 3
|
50
|
-
- 1
|
51
|
-
version: 1.3.1
|
52
|
-
requirement: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
22
|
name: currencies
|
57
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - "="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
hash: 15
|
63
|
-
segments:
|
64
|
-
- 0
|
65
|
-
- 4
|
66
|
-
- 0
|
67
|
-
version: 0.4.0
|
68
|
-
requirement: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
type: :runtime
|
71
23
|
prerelease: false
|
72
|
-
|
73
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
|
-
requirements:
|
76
|
-
- - "="
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
hash: 15
|
79
|
-
segments:
|
80
|
-
- 0
|
81
|
-
- 6
|
82
|
-
- 4
|
83
|
-
version: 0.6.4
|
84
|
-
requirement: *id004
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
type: :runtime
|
87
|
-
prerelease: false
|
88
|
-
name: currencies
|
89
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
90
25
|
none: false
|
91
26
|
requirements:
|
92
27
|
- - ">="
|
@@ -97,12 +32,12 @@ dependencies:
|
|
97
32
|
- 2
|
98
33
|
- 0
|
99
34
|
version: 0.2.0
|
100
|
-
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
101
37
|
- !ruby/object:Gem::Dependency
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
38
|
name: rspec
|
105
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
106
41
|
none: false
|
107
42
|
requirements:
|
108
43
|
- - ">="
|
@@ -111,12 +46,12 @@ dependencies:
|
|
111
46
|
segments:
|
112
47
|
- 0
|
113
48
|
version: "0"
|
114
|
-
requirement: *id006
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
49
|
type: :development
|
117
|
-
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
118
52
|
name: yard
|
119
|
-
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
120
55
|
none: false
|
121
56
|
requirements:
|
122
57
|
- - ">="
|
@@ -125,7 +60,8 @@ dependencies:
|
|
125
60
|
segments:
|
126
61
|
- 0
|
127
62
|
version: "0"
|
128
|
-
|
63
|
+
type: :development
|
64
|
+
version_requirements: *id003
|
129
65
|
description: All sorts of useful information about every country packaged as pretty little country objects. It includes data from ISO 3166 (countries and subdivisions), ISO 4217 (currency), and E.164 (phone numbers). As a bonus it even adds a country_select helper to rails projects.
|
130
66
|
email: hexorx@gmail.com
|
131
67
|
executables: []
|
@@ -137,6 +73,7 @@ extra_rdoc_files:
|
|
137
73
|
- README.markdown
|
138
74
|
files:
|
139
75
|
- .document
|
76
|
+
- .gitignore
|
140
77
|
- .rvmrc
|
141
78
|
- Gemfile
|
142
79
|
- Gemfile.lock
|
@@ -352,8 +289,8 @@ homepage: http://github.com/hexorx/countries
|
|
352
289
|
licenses: []
|
353
290
|
|
354
291
|
post_install_message:
|
355
|
-
rdoc_options:
|
356
|
-
|
292
|
+
rdoc_options:
|
293
|
+
- --charset=UTF-8
|
357
294
|
require_paths:
|
358
295
|
- lib
|
359
296
|
required_ruby_version: !ruby/object:Gem::Requirement
|