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 ADDED
@@ -0,0 +1,7 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
6
+ .rake_tasks~
7
+ .bundle
data/Gemfile CHANGED
@@ -4,6 +4,4 @@ gem 'jeweler', '=1.4.0'
4
4
  gem 'rspec', '=1.3.1'
5
5
 
6
6
  gem 'currencies', '=0.4.0', :require => 'iso4217'
7
- gem 'yard', '=0.6.4'
8
-
9
- # /* vim: set filetype=ruby : */
7
+ gem 'yard', '=0.6.4'
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
- Countries is hosted on GemCutter, so simply run the following:
15
-
16
- gem sources -a http://gemcutter.org
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
- Or you can install via bundler Gemfile:
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
- c.number # ISO3166 numeric country code
47
- c.alpha2 # ISO3166 alpha2 country code
48
- c.alpha3 # ISO3166 alpha2 country code
49
-
50
- c.name # ISO3166 name
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
- c.region # UN Region
57
- c.subregion # UN SubRegion
58
-
59
- c.subdivisions # All ISO3166-2 for that country with there codes
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'] => 'USD'
67
- c.currency['name'] => 'Dollars'
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 => "{{recipient}}\n{{street}}\n{{city}} {{region}} {{postalcode}}\n{{country}}"
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
- * more awesomer search/indexing
98
- * use the e164 gem for telephone routing
99
- * extract address_format into a separate gem
100
- * make class for accessing subdivision info
101
-
102
- Sponsored By
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) 2009 hexorx. See LICENSE for details.
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.0
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 'rake gemspec'
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.0"
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-14}
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
- "README.markdown"
17
+ "README.markdown"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".rvmrc",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "LICENSE",
25
- "README.markdown",
26
- "Rakefile",
27
- "VERSION",
28
- "countries.gemspec",
29
- "lib/countries.rb",
30
- "lib/countries/country.rb",
31
- "lib/countries/select_helper.rb",
32
- "lib/data/countries.yaml",
33
- "lib/data/subdivisions/AD.yaml",
34
- "lib/data/subdivisions/AE.yaml",
35
- "lib/data/subdivisions/AF.yaml",
36
- "lib/data/subdivisions/AG.yaml",
37
- "lib/data/subdivisions/AL.yaml",
38
- "lib/data/subdivisions/AM.yaml",
39
- "lib/data/subdivisions/AO.yaml",
40
- "lib/data/subdivisions/AR.yaml",
41
- "lib/data/subdivisions/AT.yaml",
42
- "lib/data/subdivisions/AU.yaml",
43
- "lib/data/subdivisions/AZ.yaml",
44
- "lib/data/subdivisions/BA.yaml",
45
- "lib/data/subdivisions/BB.yaml",
46
- "lib/data/subdivisions/BD.yaml",
47
- "lib/data/subdivisions/BE.yaml",
48
- "lib/data/subdivisions/BF.yaml",
49
- "lib/data/subdivisions/BG.yaml",
50
- "lib/data/subdivisions/BH.yaml",
51
- "lib/data/subdivisions/BI.yaml",
52
- "lib/data/subdivisions/BJ.yaml",
53
- "lib/data/subdivisions/BN.yaml",
54
- "lib/data/subdivisions/BO.yaml",
55
- "lib/data/subdivisions/BR.yaml",
56
- "lib/data/subdivisions/BS.yaml",
57
- "lib/data/subdivisions/BT.yaml",
58
- "lib/data/subdivisions/BW.yaml",
59
- "lib/data/subdivisions/BY.yaml",
60
- "lib/data/subdivisions/BZ.yaml",
61
- "lib/data/subdivisions/CA.yaml",
62
- "lib/data/subdivisions/CD.yaml",
63
- "lib/data/subdivisions/CF.yaml",
64
- "lib/data/subdivisions/CG.yaml",
65
- "lib/data/subdivisions/CH.yaml",
66
- "lib/data/subdivisions/CI.yaml",
67
- "lib/data/subdivisions/CL.yaml",
68
- "lib/data/subdivisions/CM.yaml",
69
- "lib/data/subdivisions/CN.yaml",
70
- "lib/data/subdivisions/CO.yaml",
71
- "lib/data/subdivisions/CR.yaml",
72
- "lib/data/subdivisions/CU.yaml",
73
- "lib/data/subdivisions/CV.yaml",
74
- "lib/data/subdivisions/CY.yaml",
75
- "lib/data/subdivisions/CZ.yaml",
76
- "lib/data/subdivisions/DE.yaml",
77
- "lib/data/subdivisions/DJ.yaml",
78
- "lib/data/subdivisions/DK.yaml",
79
- "lib/data/subdivisions/DM.yaml",
80
- "lib/data/subdivisions/DO.yaml",
81
- "lib/data/subdivisions/DZ.yaml",
82
- "lib/data/subdivisions/EC.yaml",
83
- "lib/data/subdivisions/EE.yaml",
84
- "lib/data/subdivisions/EG.yaml",
85
- "lib/data/subdivisions/EH.yaml",
86
- "lib/data/subdivisions/ER.yaml",
87
- "lib/data/subdivisions/ES.yaml",
88
- "lib/data/subdivisions/ET.yaml",
89
- "lib/data/subdivisions/FI.yaml",
90
- "lib/data/subdivisions/FJ.yaml",
91
- "lib/data/subdivisions/FM.yaml",
92
- "lib/data/subdivisions/FR.yaml",
93
- "lib/data/subdivisions/GA.yaml",
94
- "lib/data/subdivisions/GB.yaml",
95
- "lib/data/subdivisions/GD.yaml",
96
- "lib/data/subdivisions/GE.yaml",
97
- "lib/data/subdivisions/GH.yaml",
98
- "lib/data/subdivisions/GM.yaml",
99
- "lib/data/subdivisions/GN.yaml",
100
- "lib/data/subdivisions/GQ.yaml",
101
- "lib/data/subdivisions/GR.yaml",
102
- "lib/data/subdivisions/GT.yaml",
103
- "lib/data/subdivisions/GW.yaml",
104
- "lib/data/subdivisions/GY.yaml",
105
- "lib/data/subdivisions/HN.yaml",
106
- "lib/data/subdivisions/HR.yaml",
107
- "lib/data/subdivisions/HT.yaml",
108
- "lib/data/subdivisions/HU.yaml",
109
- "lib/data/subdivisions/ID.yaml",
110
- "lib/data/subdivisions/IE.yaml",
111
- "lib/data/subdivisions/IL.yaml",
112
- "lib/data/subdivisions/IN.yaml",
113
- "lib/data/subdivisions/IQ.yaml",
114
- "lib/data/subdivisions/IR.yaml",
115
- "lib/data/subdivisions/IS.yaml",
116
- "lib/data/subdivisions/IT.yaml",
117
- "lib/data/subdivisions/JM.yaml",
118
- "lib/data/subdivisions/JO.yaml",
119
- "lib/data/subdivisions/JP.yaml",
120
- "lib/data/subdivisions/KE.yaml",
121
- "lib/data/subdivisions/KG.yaml",
122
- "lib/data/subdivisions/KH.yaml",
123
- "lib/data/subdivisions/KI.yaml",
124
- "lib/data/subdivisions/KM.yaml",
125
- "lib/data/subdivisions/KN.yaml",
126
- "lib/data/subdivisions/KP.yaml",
127
- "lib/data/subdivisions/KR.yaml",
128
- "lib/data/subdivisions/KW.yaml",
129
- "lib/data/subdivisions/KZ.yaml",
130
- "lib/data/subdivisions/Ky.yaml",
131
- "lib/data/subdivisions/LA.yaml",
132
- "lib/data/subdivisions/LB.yaml",
133
- "lib/data/subdivisions/LI.yaml",
134
- "lib/data/subdivisions/LK.yaml",
135
- "lib/data/subdivisions/LR.yaml",
136
- "lib/data/subdivisions/LS.yaml",
137
- "lib/data/subdivisions/LT.yaml",
138
- "lib/data/subdivisions/LU.yaml",
139
- "lib/data/subdivisions/LV.yaml",
140
- "lib/data/subdivisions/LY.yaml",
141
- "lib/data/subdivisions/MA.yaml",
142
- "lib/data/subdivisions/MD.yaml",
143
- "lib/data/subdivisions/ME.yaml",
144
- "lib/data/subdivisions/MG.yaml",
145
- "lib/data/subdivisions/MH.yaml",
146
- "lib/data/subdivisions/MK.yaml",
147
- "lib/data/subdivisions/ML.yaml",
148
- "lib/data/subdivisions/MM.yaml",
149
- "lib/data/subdivisions/MN.yaml",
150
- "lib/data/subdivisions/MR.yaml",
151
- "lib/data/subdivisions/MU.yaml",
152
- "lib/data/subdivisions/MV.yaml",
153
- "lib/data/subdivisions/MW.yaml",
154
- "lib/data/subdivisions/MX.yaml",
155
- "lib/data/subdivisions/MY.yaml",
156
- "lib/data/subdivisions/MZ.yaml",
157
- "lib/data/subdivisions/NA.yaml",
158
- "lib/data/subdivisions/NE.yaml",
159
- "lib/data/subdivisions/NG.yaml",
160
- "lib/data/subdivisions/NI.yaml",
161
- "lib/data/subdivisions/NL.yaml",
162
- "lib/data/subdivisions/NO.yaml",
163
- "lib/data/subdivisions/NP.yaml",
164
- "lib/data/subdivisions/NR.yaml",
165
- "lib/data/subdivisions/NZ.yaml",
166
- "lib/data/subdivisions/OM.yaml",
167
- "lib/data/subdivisions/PA.yaml",
168
- "lib/data/subdivisions/PE.yaml",
169
- "lib/data/subdivisions/PG.yaml",
170
- "lib/data/subdivisions/PH.yaml",
171
- "lib/data/subdivisions/PK.yaml",
172
- "lib/data/subdivisions/PL.yaml",
173
- "lib/data/subdivisions/PT.yaml",
174
- "lib/data/subdivisions/PW.yaml",
175
- "lib/data/subdivisions/PY.yaml",
176
- "lib/data/subdivisions/QA.yaml",
177
- "lib/data/subdivisions/RO.yaml",
178
- "lib/data/subdivisions/RS.yaml",
179
- "lib/data/subdivisions/RU.yaml",
180
- "lib/data/subdivisions/RW.yaml",
181
- "lib/data/subdivisions/SA.yaml",
182
- "lib/data/subdivisions/SB.yaml",
183
- "lib/data/subdivisions/SC.yaml",
184
- "lib/data/subdivisions/SD.yaml",
185
- "lib/data/subdivisions/SE.yaml",
186
- "lib/data/subdivisions/SG.yaml",
187
- "lib/data/subdivisions/SH.yaml",
188
- "lib/data/subdivisions/SI.yaml",
189
- "lib/data/subdivisions/SK.yaml",
190
- "lib/data/subdivisions/SL.yaml",
191
- "lib/data/subdivisions/SM.yaml",
192
- "lib/data/subdivisions/SN.yaml",
193
- "lib/data/subdivisions/SO.yaml",
194
- "lib/data/subdivisions/SR.yaml",
195
- "lib/data/subdivisions/ST.yaml",
196
- "lib/data/subdivisions/SV.yaml",
197
- "lib/data/subdivisions/SY.yaml",
198
- "lib/data/subdivisions/SZ.yaml",
199
- "lib/data/subdivisions/TD.yaml",
200
- "lib/data/subdivisions/TF.yaml",
201
- "lib/data/subdivisions/TG.yaml",
202
- "lib/data/subdivisions/TH.yaml",
203
- "lib/data/subdivisions/TL.yaml",
204
- "lib/data/subdivisions/TM.yaml",
205
- "lib/data/subdivisions/TN.yaml",
206
- "lib/data/subdivisions/TO.yaml",
207
- "lib/data/subdivisions/TR.yaml",
208
- "lib/data/subdivisions/TT.yaml",
209
- "lib/data/subdivisions/TV.yaml",
210
- "lib/data/subdivisions/TW.yaml",
211
- "lib/data/subdivisions/TZ.yaml",
212
- "lib/data/subdivisions/Tj.yaml",
213
- "lib/data/subdivisions/UA.yaml",
214
- "lib/data/subdivisions/UG.yaml",
215
- "lib/data/subdivisions/UM.yaml",
216
- "lib/data/subdivisions/US.yaml",
217
- "lib/data/subdivisions/UY.yaml",
218
- "lib/data/subdivisions/UZ.yaml",
219
- "lib/data/subdivisions/VC.yaml",
220
- "lib/data/subdivisions/VE.yaml",
221
- "lib/data/subdivisions/VN.yaml",
222
- "lib/data/subdivisions/VU.yaml",
223
- "lib/data/subdivisions/WS.yaml",
224
- "lib/data/subdivisions/YE.yaml",
225
- "lib/data/subdivisions/ZA.yaml",
226
- "lib/data/subdivisions/ZM.yaml",
227
- "lib/data/subdivisions/ZW.yaml",
228
- "lib/iso3166.rb",
229
- "spec/country_spec.rb",
230
- "spec/spec_helper.rb"
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
- "spec/spec_helper.rb"
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"])
@@ -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: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 0
10
- version: 0.5.0
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-14 00:00:00 -07:00
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
- name: yard
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
- requirement: *id005
35
+ type: :runtime
36
+ version_requirements: *id001
101
37
  - !ruby/object:Gem::Dependency
102
- type: :development
103
- prerelease: false
104
38
  name: rspec
105
- version_requirements: &id006 !ruby/object:Gem::Requirement
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
- prerelease: false
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
118
52
  name: yard
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
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
- requirement: *id007
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