countries 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm ruby@countries
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source :rubygems
2
+
3
+ gem 'jeweler', '=1.4.0'
4
+ gem 'rspec', '=1.3.1'
5
+
6
+ gem 'currencies', '=0.4.0', :require => 'iso4217'
7
+ gem 'yard', '=0.6.4'
8
+
9
+ # /* vim: set filetype=ruby : */
data/Gemfile.lock ADDED
@@ -0,0 +1,24 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ currencies (0.4.0)
5
+ gemcutter (0.6.1)
6
+ git (1.2.5)
7
+ jeweler (1.4.0)
8
+ gemcutter (>= 0.1.0)
9
+ git (>= 1.2.5)
10
+ rubyforge (>= 2.0.0)
11
+ json_pure (1.5.1)
12
+ rspec (1.3.1)
13
+ rubyforge (2.0.4)
14
+ json_pure (>= 1.1.7)
15
+ yard (0.6.4)
16
+
17
+ PLATFORMS
18
+ ruby
19
+
20
+ DEPENDENCIES
21
+ currencies (= 0.4.0)
22
+ jeweler (= 1.4.0)
23
+ rspec (= 1.3.1)
24
+ yard (= 0.6.4)
data/README.markdown CHANGED
@@ -15,7 +15,15 @@ Countries is hosted on GemCutter, so simply run the following:
15
15
 
16
16
  gem sources -a http://gemcutter.org
17
17
  sudo gem install countries
18
-
18
+
19
+ Or you can install via bundler Gemfile:
20
+
21
+ gem 'countries'
22
+
23
+ Or you can install via bundler Gemfile with using only ISO3166::Country (no Country class):
24
+
25
+ gem 'countries', :require => 'iso3166'
26
+
19
27
  Country Select Helper
20
28
  ---------------------
21
29
 
@@ -24,6 +32,9 @@ As a bonus if you add the gem to a rails project it automatically gives you a co
24
32
  Basic Usage
25
33
  -----------
26
34
 
35
+ Note that Country class still exist by default.
36
+ (is inherited from ISO3166::Country to keep backward compatibility).
37
+
27
38
  Simply load a new country object using Country.new(*alpha2*) or the shortcut Country[*alpha2*]. An example works best.
28
39
 
29
40
  c = Country.new('US')
@@ -115,4 +126,4 @@ Copyright (c) 2009 hexorx. See LICENSE for details.
115
126
  [Centrex]: http://en.wikipedia.org/wiki/Centrex
116
127
  [CommonDataHub]: http://commondatahub.com
117
128
  [Currencies]: http://gemcutter.org/gems/currencies
118
- [Money]: http://gemcutter.org/gems/money
129
+ [Money]: http://gemcutter.org/gems/money
data/Rakefile CHANGED
@@ -32,8 +32,6 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
32
32
  spec.rcov = true
33
33
  end
34
34
 
35
- task :spec => :check_dependencies
36
-
37
35
  task :default => :spec
38
36
 
39
37
  begin
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.5.0
data/countries.gemspec CHANGED
@@ -1,257 +1,272 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{countries}
8
- s.version = "0.3.0"
8
+ s.version = "0.5.0"
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{2010-02-19}
12
+ s.date = %q{2011-02-14}
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
- ".gitignore",
22
- "LICENSE",
23
- "README.markdown",
24
- "Rakefile",
25
- "VERSION",
26
- "countries.gemspec",
27
- "lib/countries.rb",
28
- "lib/countries/country.rb",
29
- "lib/countries/select_helper.rb",
30
- "lib/data/countries.yaml",
31
- "lib/data/subdivisions/AD.yaml",
32
- "lib/data/subdivisions/AE.yaml",
33
- "lib/data/subdivisions/AF.yaml",
34
- "lib/data/subdivisions/AG.yaml",
35
- "lib/data/subdivisions/AL.yaml",
36
- "lib/data/subdivisions/AM.yaml",
37
- "lib/data/subdivisions/AO.yaml",
38
- "lib/data/subdivisions/AR.yaml",
39
- "lib/data/subdivisions/AT.yaml",
40
- "lib/data/subdivisions/AU.yaml",
41
- "lib/data/subdivisions/AZ.yaml",
42
- "lib/data/subdivisions/BA.yaml",
43
- "lib/data/subdivisions/BB.yaml",
44
- "lib/data/subdivisions/BD.yaml",
45
- "lib/data/subdivisions/BE.yaml",
46
- "lib/data/subdivisions/BF.yaml",
47
- "lib/data/subdivisions/BG.yaml",
48
- "lib/data/subdivisions/BH.yaml",
49
- "lib/data/subdivisions/BI.yaml",
50
- "lib/data/subdivisions/BJ.yaml",
51
- "lib/data/subdivisions/BN.yaml",
52
- "lib/data/subdivisions/BO.yaml",
53
- "lib/data/subdivisions/BR.yaml",
54
- "lib/data/subdivisions/BS.yaml",
55
- "lib/data/subdivisions/BT.yaml",
56
- "lib/data/subdivisions/BW.yaml",
57
- "lib/data/subdivisions/BY.yaml",
58
- "lib/data/subdivisions/BZ.yaml",
59
- "lib/data/subdivisions/CA.yaml",
60
- "lib/data/subdivisions/CD.yaml",
61
- "lib/data/subdivisions/CF.yaml",
62
- "lib/data/subdivisions/CG.yaml",
63
- "lib/data/subdivisions/CH.yaml",
64
- "lib/data/subdivisions/CI.yaml",
65
- "lib/data/subdivisions/CL.yaml",
66
- "lib/data/subdivisions/CM.yaml",
67
- "lib/data/subdivisions/CN.yaml",
68
- "lib/data/subdivisions/CO.yaml",
69
- "lib/data/subdivisions/CR.yaml",
70
- "lib/data/subdivisions/CU.yaml",
71
- "lib/data/subdivisions/CV.yaml",
72
- "lib/data/subdivisions/CY.yaml",
73
- "lib/data/subdivisions/CZ.yaml",
74
- "lib/data/subdivisions/DE.yaml",
75
- "lib/data/subdivisions/DJ.yaml",
76
- "lib/data/subdivisions/DK.yaml",
77
- "lib/data/subdivisions/DM.yaml",
78
- "lib/data/subdivisions/DO.yaml",
79
- "lib/data/subdivisions/DZ.yaml",
80
- "lib/data/subdivisions/EC.yaml",
81
- "lib/data/subdivisions/EE.yaml",
82
- "lib/data/subdivisions/EG.yaml",
83
- "lib/data/subdivisions/EH.yaml",
84
- "lib/data/subdivisions/ER.yaml",
85
- "lib/data/subdivisions/ES.yaml",
86
- "lib/data/subdivisions/ET.yaml",
87
- "lib/data/subdivisions/FI.yaml",
88
- "lib/data/subdivisions/FJ.yaml",
89
- "lib/data/subdivisions/FM.yaml",
90
- "lib/data/subdivisions/FR.yaml",
91
- "lib/data/subdivisions/GA.yaml",
92
- "lib/data/subdivisions/GB.yaml",
93
- "lib/data/subdivisions/GD.yaml",
94
- "lib/data/subdivisions/GE.yaml",
95
- "lib/data/subdivisions/GH.yaml",
96
- "lib/data/subdivisions/GM.yaml",
97
- "lib/data/subdivisions/GN.yaml",
98
- "lib/data/subdivisions/GQ.yaml",
99
- "lib/data/subdivisions/GR.yaml",
100
- "lib/data/subdivisions/GT.yaml",
101
- "lib/data/subdivisions/GW.yaml",
102
- "lib/data/subdivisions/GY.yaml",
103
- "lib/data/subdivisions/HN.yaml",
104
- "lib/data/subdivisions/HR.yaml",
105
- "lib/data/subdivisions/HT.yaml",
106
- "lib/data/subdivisions/HU.yaml",
107
- "lib/data/subdivisions/ID.yaml",
108
- "lib/data/subdivisions/IE.yaml",
109
- "lib/data/subdivisions/IL.yaml",
110
- "lib/data/subdivisions/IN.yaml",
111
- "lib/data/subdivisions/IQ.yaml",
112
- "lib/data/subdivisions/IR.yaml",
113
- "lib/data/subdivisions/IS.yaml",
114
- "lib/data/subdivisions/IT.yaml",
115
- "lib/data/subdivisions/JM.yaml",
116
- "lib/data/subdivisions/JO.yaml",
117
- "lib/data/subdivisions/JP.yaml",
118
- "lib/data/subdivisions/KE.yaml",
119
- "lib/data/subdivisions/KG.yaml",
120
- "lib/data/subdivisions/KH.yaml",
121
- "lib/data/subdivisions/KI.yaml",
122
- "lib/data/subdivisions/KM.yaml",
123
- "lib/data/subdivisions/KN.yaml",
124
- "lib/data/subdivisions/KP.yaml",
125
- "lib/data/subdivisions/KR.yaml",
126
- "lib/data/subdivisions/KW.yaml",
127
- "lib/data/subdivisions/KZ.yaml",
128
- "lib/data/subdivisions/Ky.yaml",
129
- "lib/data/subdivisions/LA.yaml",
130
- "lib/data/subdivisions/LB.yaml",
131
- "lib/data/subdivisions/LI.yaml",
132
- "lib/data/subdivisions/LK.yaml",
133
- "lib/data/subdivisions/LR.yaml",
134
- "lib/data/subdivisions/LS.yaml",
135
- "lib/data/subdivisions/LT.yaml",
136
- "lib/data/subdivisions/LU.yaml",
137
- "lib/data/subdivisions/LV.yaml",
138
- "lib/data/subdivisions/LY.yaml",
139
- "lib/data/subdivisions/MA.yaml",
140
- "lib/data/subdivisions/MD.yaml",
141
- "lib/data/subdivisions/ME.yaml",
142
- "lib/data/subdivisions/MG.yaml",
143
- "lib/data/subdivisions/MH.yaml",
144
- "lib/data/subdivisions/MK.yaml",
145
- "lib/data/subdivisions/ML.yaml",
146
- "lib/data/subdivisions/MM.yaml",
147
- "lib/data/subdivisions/MN.yaml",
148
- "lib/data/subdivisions/MR.yaml",
149
- "lib/data/subdivisions/MU.yaml",
150
- "lib/data/subdivisions/MV.yaml",
151
- "lib/data/subdivisions/MW.yaml",
152
- "lib/data/subdivisions/MX.yaml",
153
- "lib/data/subdivisions/MY.yaml",
154
- "lib/data/subdivisions/MZ.yaml",
155
- "lib/data/subdivisions/NA.yaml",
156
- "lib/data/subdivisions/NE.yaml",
157
- "lib/data/subdivisions/NG.yaml",
158
- "lib/data/subdivisions/NI.yaml",
159
- "lib/data/subdivisions/NL.yaml",
160
- "lib/data/subdivisions/NO.yaml",
161
- "lib/data/subdivisions/NP.yaml",
162
- "lib/data/subdivisions/NR.yaml",
163
- "lib/data/subdivisions/NZ.yaml",
164
- "lib/data/subdivisions/OM.yaml",
165
- "lib/data/subdivisions/PA.yaml",
166
- "lib/data/subdivisions/PE.yaml",
167
- "lib/data/subdivisions/PG.yaml",
168
- "lib/data/subdivisions/PH.yaml",
169
- "lib/data/subdivisions/PK.yaml",
170
- "lib/data/subdivisions/PL.yaml",
171
- "lib/data/subdivisions/PT.yaml",
172
- "lib/data/subdivisions/PW.yaml",
173
- "lib/data/subdivisions/PY.yaml",
174
- "lib/data/subdivisions/QA.yaml",
175
- "lib/data/subdivisions/RO.yaml",
176
- "lib/data/subdivisions/RS.yaml",
177
- "lib/data/subdivisions/RU.yaml",
178
- "lib/data/subdivisions/RW.yaml",
179
- "lib/data/subdivisions/SA.yaml",
180
- "lib/data/subdivisions/SB.yaml",
181
- "lib/data/subdivisions/SC.yaml",
182
- "lib/data/subdivisions/SD.yaml",
183
- "lib/data/subdivisions/SE.yaml",
184
- "lib/data/subdivisions/SG.yaml",
185
- "lib/data/subdivisions/SH.yaml",
186
- "lib/data/subdivisions/SI.yaml",
187
- "lib/data/subdivisions/SK.yaml",
188
- "lib/data/subdivisions/SL.yaml",
189
- "lib/data/subdivisions/SM.yaml",
190
- "lib/data/subdivisions/SN.yaml",
191
- "lib/data/subdivisions/SO.yaml",
192
- "lib/data/subdivisions/SR.yaml",
193
- "lib/data/subdivisions/ST.yaml",
194
- "lib/data/subdivisions/SV.yaml",
195
- "lib/data/subdivisions/SY.yaml",
196
- "lib/data/subdivisions/SZ.yaml",
197
- "lib/data/subdivisions/TD.yaml",
198
- "lib/data/subdivisions/TF.yaml",
199
- "lib/data/subdivisions/TG.yaml",
200
- "lib/data/subdivisions/TH.yaml",
201
- "lib/data/subdivisions/TL.yaml",
202
- "lib/data/subdivisions/TM.yaml",
203
- "lib/data/subdivisions/TN.yaml",
204
- "lib/data/subdivisions/TO.yaml",
205
- "lib/data/subdivisions/TR.yaml",
206
- "lib/data/subdivisions/TT.yaml",
207
- "lib/data/subdivisions/TV.yaml",
208
- "lib/data/subdivisions/TW.yaml",
209
- "lib/data/subdivisions/TZ.yaml",
210
- "lib/data/subdivisions/Tj.yaml",
211
- "lib/data/subdivisions/UA.yaml",
212
- "lib/data/subdivisions/UG.yaml",
213
- "lib/data/subdivisions/UM.yaml",
214
- "lib/data/subdivisions/US.yaml",
215
- "lib/data/subdivisions/UY.yaml",
216
- "lib/data/subdivisions/UZ.yaml",
217
- "lib/data/subdivisions/VC.yaml",
218
- "lib/data/subdivisions/VE.yaml",
219
- "lib/data/subdivisions/VN.yaml",
220
- "lib/data/subdivisions/VU.yaml",
221
- "lib/data/subdivisions/WS.yaml",
222
- "lib/data/subdivisions/YE.yaml",
223
- "lib/data/subdivisions/ZA.yaml",
224
- "lib/data/subdivisions/ZM.yaml",
225
- "lib/data/subdivisions/ZW.yaml",
226
- "spec/country_spec.rb",
227
- "spec/spec_helper.rb"
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"
228
231
  ]
229
232
  s.homepage = %q{http://github.com/hexorx/countries}
230
- s.rdoc_options = ["--charset=UTF-8"]
231
233
  s.require_paths = ["lib"]
232
- s.rubygems_version = %q{1.3.5}
234
+ s.rubygems_version = %q{1.3.7}
233
235
  s.summary = %q{Gives you a country object full of all sorts of useful information.}
234
236
  s.test_files = [
235
237
  "spec/country_spec.rb",
236
- "spec/spec_helper.rb"
238
+ "spec/spec_helper.rb"
237
239
  ]
238
240
 
239
241
  if s.respond_to? :specification_version then
240
242
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
241
243
  s.specification_version = 3
242
244
 
243
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
245
+ 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"])
244
250
  s.add_runtime_dependency(%q<currencies>, [">= 0.2.0"])
245
251
  s.add_development_dependency(%q<rspec>, [">= 0"])
246
252
  s.add_development_dependency(%q<yard>, [">= 0"])
247
253
  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"])
248
258
  s.add_dependency(%q<currencies>, [">= 0.2.0"])
249
259
  s.add_dependency(%q<rspec>, [">= 0"])
250
260
  s.add_dependency(%q<yard>, [">= 0"])
251
261
  end
252
262
  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"])
253
267
  s.add_dependency(%q<currencies>, [">= 0.2.0"])
254
268
  s.add_dependency(%q<rspec>, [">= 0"])
255
269
  s.add_dependency(%q<yard>, [">= 0"])
256
270
  end
257
271
  end
272
+
data/lib/countries.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  $LOAD_PATH << File.expand_path(File.dirname(__FILE__))
2
2
 
3
- require 'YAML' unless defined?(YAML)
4
- require 'currencies'
3
+ require 'iso3166'
5
4
 
6
- require 'countries/select_helper'
7
- require 'countries/country'
5
+ class Country < ISO3166::Country; end
@@ -1,6 +1,8 @@
1
- class Country
1
+ module ISO3166; end
2
+
3
+ class ISO3166::Country
2
4
  attr_reader :data
3
-
5
+
4
6
  AttrReaders = [
5
7
  :number,
6
8
  :alpha2,
@@ -18,38 +20,44 @@ class Country
18
20
  :national_prefix,
19
21
  :address_format
20
22
  ]
21
-
23
+
22
24
  AttrReaders.each do |meth|
23
25
  define_method meth do
24
26
  @data[meth.to_s]
25
27
  end
26
28
  end
27
-
29
+
28
30
  Data = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'data', 'countries.yaml')) || {}
29
31
  Names = Data.map {|k,v| [v['name'],k]}.sort
30
32
  NameIndex = Hash[*Names.flatten]
31
-
33
+
32
34
  def initialize(country_code)
33
35
  @data = Data[country_code]
34
36
  end
35
-
37
+
36
38
  def currency
37
- Currency.from_code(@data['currency'])
39
+ ISO4217::Currency.from_code(@data['currency'])
38
40
  end
39
-
41
+
40
42
  def self.search(query)
41
- Country.new(query)
43
+ self.new(query)
42
44
  end
43
-
45
+
44
46
  def self.[](query)
45
47
  self.search(query)
46
48
  end
47
-
49
+
50
+ def self.find_by_name(name)
51
+ Data.select do |k,v|
52
+ v["name"] == name || v["names"].include?(name)
53
+ end.first
54
+ end
55
+
48
56
  def subdivisions
49
57
  @subdivisions ||= subdivisions? ? YAML.load_file(File.join(File.dirname(__FILE__), '..', 'data', 'subdivisions', "#{alpha2}.yaml")) : {}
50
58
  end
51
-
59
+
52
60
  def subdivisions?
53
61
  File.exist?(File.join(File.dirname(__FILE__), '..', 'data', 'subdivisions', "#{alpha2}.yaml"))
54
62
  end
55
- end
63
+ end
data/lib/iso3166.rb ADDED
@@ -0,0 +1,7 @@
1
+ $LOAD_PATH << File.expand_path(File.dirname(__FILE__))
2
+
3
+ require 'YAML' unless defined?(YAML)
4
+ require 'iso4217'
5
+
6
+ require 'countries/select_helper'
7
+ require 'countries/country'
data/spec/country_spec.rb CHANGED
@@ -1,91 +1,139 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
- describe Country do
4
- before(:all) do
5
- @country = Country.search('US')
6
- end
7
-
3
+ describe ISO3166::Country do
4
+
5
+ let(:country) { ISO3166::Country.search('US') }
6
+
8
7
  it 'should return 3166 number' do
9
- @country.number.should == '840'
8
+ country.number.should == '840'
10
9
  end
11
-
10
+
12
11
  it 'should return 3166 alpha2 code' do
13
- @country.alpha2.should == 'US'
12
+ country.alpha2.should == 'US'
14
13
  end
15
-
14
+
16
15
  it 'should return 3166 alpha3 code' do
17
- @country.alpha3.should == 'USA'
16
+ country.alpha3.should == 'USA'
18
17
  end
19
-
18
+
20
19
  it 'should return 3166 name' do
21
- @country.name.should == 'United States'
20
+ country.name.should == 'United States'
22
21
  end
23
-
22
+
24
23
  it 'should return alternate names' do
25
- @country.names.should == ["United States of America", "Vereinigte Staaten von Amerika", "États-Unis", "Estados Unidos"]
24
+ country.names.should == ["United States of America", "Vereinigte Staaten von Amerika", "États-Unis", "Estados Unidos"]
26
25
  end
27
-
26
+
28
27
  it 'should return latitude' do
29
- @country.latitude.should == '38 00 N'
28
+ country.latitude.should == '38 00 N'
30
29
  end
31
-
30
+
32
31
  it 'should return longitude' do
33
- @country.longitude.should == '97 00 W'
32
+ country.longitude.should == '97 00 W'
34
33
  end
35
34
 
36
35
  it 'should return region' do
37
- @country.region.should == 'Americas'
36
+ country.region.should == 'Americas'
38
37
  end
39
38
 
40
39
  it 'should return subregion' do
41
- @country.subregion.should == 'Northern America'
40
+ country.subregion.should == 'Northern America'
42
41
  end
43
-
42
+
44
43
  describe 'e164' do
45
44
  it 'should return country_code' do
46
- @country.country_code.should == '1'
45
+ country.country_code.should == '1'
47
46
  end
48
-
47
+
49
48
  it 'should return national_destination_code_lengths' do
50
- @country.national_destination_code_lengths.should == [3]
49
+ country.national_destination_code_lengths.should == [3]
51
50
  end
52
-
51
+
53
52
  it 'should return national_number_lengths' do
54
- @country.national_number_lengths.should == [10]
55
- end
56
-
53
+ country.national_number_lengths.should == [10]
54
+ end
55
+
57
56
  it 'should return international_prefix' do
58
- @country.international_prefix.should == '011'
59
- end
60
-
57
+ country.international_prefix.should == '011'
58
+ end
59
+
61
60
  it 'should return national_prefix' do
62
- @country.national_prefix.should == '1'
61
+ country.national_prefix.should == '1'
63
62
  end
64
63
  end
65
-
64
+
66
65
  describe 'subdivisions' do
67
66
  it 'should return an empty hash for a country with no ISO3166-2' do
68
- Country.search('VA').subdivisions.should have(0).subdivisions
67
+ ISO3166::Country.search('VA').subdivisions.should have(0).subdivisions
69
68
  end
70
-
69
+
71
70
  it 'should return a hash with all sub divisions' do
72
- @country.subdivisions.should have(57).states
71
+ country.subdivisions.should have(57).states
73
72
  end
74
73
  end
75
-
74
+
76
75
  describe 'search' do
77
76
  it 'should return new country object when a valid alpha2 is passed' do
78
- Country.search('US').should be_a(Country)
77
+ ISO3166::Country.search('US').should be_a(ISO3166::Country)
79
78
  end
80
79
  end
81
-
80
+
82
81
  describe 'currency' do
83
82
  it 'should return an instance of Currency' do
84
- @country.currency.should be_a(Currency)
83
+ country.currency.should be_a(ISO4217::Currency)
85
84
  end
86
-
85
+
87
86
  it 'should allow access to symbol' do
88
- @country.currency[:symbol].should == '$'
87
+ country.currency[:symbol].should == '$'
89
88
  end
90
89
  end
90
+
91
+ describe "Country class" do
92
+ context "when loaded via 'iso3166' existance" do
93
+ subject { defined?(Country) }
94
+
95
+ it { should be_false }
96
+ end
97
+
98
+ context "when loaded via 'countries'" do
99
+ before { require 'countries' }
100
+
101
+ describe "existance" do
102
+ subject { defined?(Country) }
103
+
104
+ it { should be_true }
105
+ end
106
+
107
+ describe "superclass" do
108
+ subject { Country.superclass }
109
+
110
+ it { should == ISO3166::Country }
111
+ end
112
+ end
113
+ end
114
+
115
+ describe ".find_by_name" do
116
+ context "when search name in 'name'" do
117
+ subject { ISO3166::Country.find_by_name("Poland") }
118
+
119
+ its(:first) { should == "PL" }
120
+ end
121
+
122
+ context "when search name in 'names'" do
123
+ subject { ISO3166::Country.find_by_name("Polonia") }
124
+
125
+ its(:first) { should == "PL" }
126
+ end
127
+ end
128
+
129
+ describe "names in Data" do
130
+ it "should be unique (to allow .find_by_name work properly)" do
131
+ names = ISO3166::Country::Data.collect do |k,v|
132
+ [v["name"], v["names"]].flatten.uniq
133
+ end.flatten
134
+
135
+ names.size.should == names.uniq.size
136
+ end
137
+ end
138
+
91
139
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'rubygems'
4
- require 'countries'
4
+ require 'iso3166'
5
5
  require 'spec'
6
6
  require 'spec/autorun'
7
7
 
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: countries
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ hash: 11
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 0
10
+ version: 0.5.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - hexorx
@@ -9,39 +15,117 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-02-19 00:00:00 -07:00
18
+ date: 2011-02-14 00:00:00 -07:00
13
19
  default_executable:
14
20
  dependencies:
15
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
16
56
  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
+ 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
17
86
  type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
87
+ prerelease: false
88
+ name: currencies
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
90
+ none: false
20
91
  requirements:
21
92
  - - ">="
22
93
  - !ruby/object:Gem::Version
94
+ hash: 23
95
+ segments:
96
+ - 0
97
+ - 2
98
+ - 0
23
99
  version: 0.2.0
24
- version:
100
+ requirement: *id005
25
101
  - !ruby/object:Gem::Dependency
26
- name: rspec
27
102
  type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
103
+ prerelease: false
104
+ name: rspec
105
+ version_requirements: &id006 !ruby/object:Gem::Requirement
106
+ none: false
30
107
  requirements:
31
108
  - - ">="
32
109
  - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
33
113
  version: "0"
34
- version:
114
+ requirement: *id006
35
115
  - !ruby/object:Gem::Dependency
36
- name: yard
37
116
  type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
117
+ prerelease: false
118
+ name: yard
119
+ version_requirements: &id007 !ruby/object:Gem::Requirement
120
+ none: false
40
121
  requirements:
41
122
  - - ">="
42
123
  - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
43
127
  version: "0"
44
- version:
128
+ requirement: *id007
45
129
  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.
46
130
  email: hexorx@gmail.com
47
131
  executables: []
@@ -53,7 +137,9 @@ extra_rdoc_files:
53
137
  - README.markdown
54
138
  files:
55
139
  - .document
56
- - .gitignore
140
+ - .rvmrc
141
+ - Gemfile
142
+ - Gemfile.lock
57
143
  - LICENSE
58
144
  - README.markdown
59
145
  - Rakefile
@@ -258,6 +344,7 @@ files:
258
344
  - lib/data/subdivisions/ZA.yaml
259
345
  - lib/data/subdivisions/ZM.yaml
260
346
  - lib/data/subdivisions/ZW.yaml
347
+ - lib/iso3166.rb
261
348
  - spec/country_spec.rb
262
349
  - spec/spec_helper.rb
263
350
  has_rdoc: true
@@ -265,26 +352,32 @@ homepage: http://github.com/hexorx/countries
265
352
  licenses: []
266
353
 
267
354
  post_install_message:
268
- rdoc_options:
269
- - --charset=UTF-8
355
+ rdoc_options: []
356
+
270
357
  require_paths:
271
358
  - lib
272
359
  required_ruby_version: !ruby/object:Gem::Requirement
360
+ none: false
273
361
  requirements:
274
362
  - - ">="
275
363
  - !ruby/object:Gem::Version
364
+ hash: 3
365
+ segments:
366
+ - 0
276
367
  version: "0"
277
- version:
278
368
  required_rubygems_version: !ruby/object:Gem::Requirement
369
+ none: false
279
370
  requirements:
280
371
  - - ">="
281
372
  - !ruby/object:Gem::Version
373
+ hash: 3
374
+ segments:
375
+ - 0
282
376
  version: "0"
283
- version:
284
377
  requirements: []
285
378
 
286
379
  rubyforge_project:
287
- rubygems_version: 1.3.5
380
+ rubygems_version: 1.3.7
288
381
  signing_key:
289
382
  specification_version: 3
290
383
  summary: Gives you a country object full of all sorts of useful information.
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- *.sw?
2
- .DS_Store
3
- coverage
4
- rdoc
5
- pkg
6
- .rake_tasks~