countries 2.0.0.rc → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.rubocop_todo.yml +52 -0
  4. data/CHANGELOG.md +15 -0
  5. data/README.markdown +10 -3
  6. data/Rakefile +24 -75
  7. data/bin/console +3 -3
  8. data/countries.gemspec +0 -1
  9. data/lib/countries.rb +2 -2
  10. data/lib/countries/cache/countries.json +1 -1
  11. data/lib/countries/cache/locales/ar.json +1 -1
  12. data/lib/countries/configuration.rb +4 -4
  13. data/lib/countries/country.rb +18 -17
  14. data/lib/countries/country/class_methods.rb +40 -20
  15. data/lib/countries/country/emoji.rb +28 -27
  16. data/lib/countries/data.rb +7 -8
  17. data/lib/countries/data/countries/AD.yaml +13 -6
  18. data/lib/countries/data/countries/AE.yaml +13 -6
  19. data/lib/countries/data/countries/AF.yaml +13 -6
  20. data/lib/countries/data/countries/AG.yaml +14 -7
  21. data/lib/countries/data/countries/AI.yaml +14 -7
  22. data/lib/countries/data/countries/AL.yaml +13 -6
  23. data/lib/countries/data/countries/AM.yaml +13 -6
  24. data/lib/countries/data/countries/AO.yaml +13 -6
  25. data/lib/countries/data/countries/AQ.yaml +13 -6
  26. data/lib/countries/data/countries/AR.yaml +13 -6
  27. data/lib/countries/data/countries/AS.yaml +14 -7
  28. data/lib/countries/data/countries/AT.yaml +13 -6
  29. data/lib/countries/data/countries/AU.yaml +13 -6
  30. data/lib/countries/data/countries/AW.yaml +13 -6
  31. data/lib/countries/data/countries/AX.yaml +13 -6
  32. data/lib/countries/data/countries/AZ.yaml +13 -6
  33. data/lib/countries/data/countries/BA.yaml +13 -6
  34. data/lib/countries/data/countries/BB.yaml +14 -7
  35. data/lib/countries/data/countries/BD.yaml +13 -6
  36. data/lib/countries/data/countries/BE.yaml +13 -6
  37. data/lib/countries/data/countries/BF.yaml +13 -6
  38. data/lib/countries/data/countries/BG.yaml +13 -6
  39. data/lib/countries/data/countries/BH.yaml +13 -6
  40. data/lib/countries/data/countries/BI.yaml +13 -6
  41. data/lib/countries/data/countries/BJ.yaml +13 -6
  42. data/lib/countries/data/countries/BL.yaml +13 -6
  43. data/lib/countries/data/countries/BM.yaml +14 -7
  44. data/lib/countries/data/countries/BN.yaml +13 -6
  45. data/lib/countries/data/countries/BO.yaml +13 -6
  46. data/lib/countries/data/countries/BQ.yaml +13 -6
  47. data/lib/countries/data/countries/BR.yaml +13 -6
  48. data/lib/countries/data/countries/BS.yaml +14 -7
  49. data/lib/countries/data/countries/BT.yaml +13 -6
  50. data/lib/countries/data/countries/BV.yaml +13 -6
  51. data/lib/countries/data/countries/BW.yaml +13 -6
  52. data/lib/countries/data/countries/BY.yaml +13 -6
  53. data/lib/countries/data/countries/BZ.yaml +13 -6
  54. data/lib/countries/data/countries/CA.yaml +13 -6
  55. data/lib/countries/data/countries/CC.yaml +13 -6
  56. data/lib/countries/data/countries/CD.yaml +6 -6
  57. data/lib/countries/data/countries/CF.yaml +13 -6
  58. data/lib/countries/data/countries/CG.yaml +13 -6
  59. data/lib/countries/data/countries/CH.yaml +15 -8
  60. data/lib/countries/data/countries/CI.yaml +13 -6
  61. data/lib/countries/data/countries/CK.yaml +13 -6
  62. data/lib/countries/data/countries/CL.yaml +13 -6
  63. data/lib/countries/data/countries/CM.yaml +13 -6
  64. data/lib/countries/data/countries/CN.yaml +13 -6
  65. data/lib/countries/data/countries/CO.yaml +13 -6
  66. data/lib/countries/data/countries/CR.yaml +13 -6
  67. data/lib/countries/data/countries/CU.yaml +13 -6
  68. data/lib/countries/data/countries/CV.yaml +13 -6
  69. data/lib/countries/data/countries/CW.yaml +13 -6
  70. data/lib/countries/data/countries/CX.yaml +13 -6
  71. data/lib/countries/data/countries/CY.yaml +13 -6
  72. data/lib/countries/data/countries/CZ.yaml +13 -6
  73. data/lib/countries/data/countries/DE.yaml +13 -6
  74. data/lib/countries/data/countries/DJ.yaml +13 -6
  75. data/lib/countries/data/countries/DK.yaml +13 -6
  76. data/lib/countries/data/countries/DM.yaml +14 -7
  77. data/lib/countries/data/countries/DO.yaml +13 -6
  78. data/lib/countries/data/countries/DZ.yaml +13 -6
  79. data/lib/countries/data/countries/EC.yaml +13 -6
  80. data/lib/countries/data/countries/EE.yaml +13 -6
  81. data/lib/countries/data/countries/EG.yaml +13 -6
  82. data/lib/countries/data/countries/EH.yaml +13 -6
  83. data/lib/countries/data/countries/ER.yaml +13 -6
  84. data/lib/countries/data/countries/ES.yaml +13 -6
  85. data/lib/countries/data/countries/ET.yaml +13 -6
  86. data/lib/countries/data/countries/FI.yaml +13 -6
  87. data/lib/countries/data/countries/FJ.yaml +13 -6
  88. data/lib/countries/data/countries/FK.yaml +13 -6
  89. data/lib/countries/data/countries/FM.yaml +6 -6
  90. data/lib/countries/data/countries/FO.yaml +13 -6
  91. data/lib/countries/data/countries/FR.yaml +13 -6
  92. data/lib/countries/data/countries/GA.yaml +13 -6
  93. data/lib/countries/data/countries/GB.yaml +13 -6
  94. data/lib/countries/data/countries/GD.yaml +14 -7
  95. data/lib/countries/data/countries/GE.yaml +13 -6
  96. data/lib/countries/data/countries/GF.yaml +13 -6
  97. data/lib/countries/data/countries/GG.yaml +13 -6
  98. data/lib/countries/data/countries/GH.yaml +13 -6
  99. data/lib/countries/data/countries/GI.yaml +13 -6
  100. data/lib/countries/data/countries/GL.yaml +13 -6
  101. data/lib/countries/data/countries/GM.yaml +13 -6
  102. data/lib/countries/data/countries/GN.yaml +13 -6
  103. data/lib/countries/data/countries/GP.yaml +13 -6
  104. data/lib/countries/data/countries/GQ.yaml +13 -6
  105. data/lib/countries/data/countries/GR.yaml +13 -6
  106. data/lib/countries/data/countries/GS.yaml +13 -6
  107. data/lib/countries/data/countries/GT.yaml +13 -6
  108. data/lib/countries/data/countries/GU.yaml +14 -7
  109. data/lib/countries/data/countries/GW.yaml +13 -6
  110. data/lib/countries/data/countries/GY.yaml +13 -6
  111. data/lib/countries/data/countries/HK.yaml +13 -6
  112. data/lib/countries/data/countries/HM.yaml +6 -6
  113. data/lib/countries/data/countries/HN.yaml +13 -6
  114. data/lib/countries/data/countries/HR.yaml +13 -6
  115. data/lib/countries/data/countries/HT.yaml +13 -6
  116. data/lib/countries/data/countries/HU.yaml +13 -6
  117. data/lib/countries/data/countries/ID.yaml +13 -6
  118. data/lib/countries/data/countries/IE.yaml +13 -6
  119. data/lib/countries/data/countries/IL.yaml +13 -6
  120. data/lib/countries/data/countries/IM.yaml +13 -6
  121. data/lib/countries/data/countries/IN.yaml +13 -6
  122. data/lib/countries/data/countries/IO.yaml +13 -6
  123. data/lib/countries/data/countries/IQ.yaml +13 -6
  124. data/lib/countries/data/countries/IR.yaml +13 -6
  125. data/lib/countries/data/countries/IS.yaml +13 -6
  126. data/lib/countries/data/countries/IT.yaml +13 -6
  127. data/lib/countries/data/countries/JE.yaml +13 -6
  128. data/lib/countries/data/countries/JM.yaml +14 -7
  129. data/lib/countries/data/countries/JO.yaml +13 -6
  130. data/lib/countries/data/countries/JP.yaml +13 -6
  131. data/lib/countries/data/countries/KE.yaml +13 -6
  132. data/lib/countries/data/countries/KG.yaml +13 -6
  133. data/lib/countries/data/countries/KH.yaml +13 -6
  134. data/lib/countries/data/countries/KI.yaml +13 -6
  135. data/lib/countries/data/countries/KM.yaml +13 -6
  136. data/lib/countries/data/countries/KN.yaml +14 -7
  137. data/lib/countries/data/countries/KP.yaml +6 -6
  138. data/lib/countries/data/countries/KR.yaml +13 -6
  139. data/lib/countries/data/countries/KW.yaml +13 -6
  140. data/lib/countries/data/countries/KY.yaml +14 -7
  141. data/lib/countries/data/countries/KZ.yaml +13 -6
  142. data/lib/countries/data/countries/LA.yaml +13 -6
  143. data/lib/countries/data/countries/LB.yaml +13 -6
  144. data/lib/countries/data/countries/LC.yaml +14 -7
  145. data/lib/countries/data/countries/LI.yaml +13 -6
  146. data/lib/countries/data/countries/LK.yaml +13 -6
  147. data/lib/countries/data/countries/LR.yaml +13 -6
  148. data/lib/countries/data/countries/LS.yaml +13 -6
  149. data/lib/countries/data/countries/LT.yaml +13 -6
  150. data/lib/countries/data/countries/LU.yaml +13 -6
  151. data/lib/countries/data/countries/LV.yaml +13 -6
  152. data/lib/countries/data/countries/LY.yaml +13 -6
  153. data/lib/countries/data/countries/MA.yaml +13 -6
  154. data/lib/countries/data/countries/MC.yaml +13 -6
  155. data/lib/countries/data/countries/MD.yaml +13 -6
  156. data/lib/countries/data/countries/ME.yaml +13 -6
  157. data/lib/countries/data/countries/MF.yaml +13 -6
  158. data/lib/countries/data/countries/MG.yaml +13 -6
  159. data/lib/countries/data/countries/MH.yaml +13 -6
  160. data/lib/countries/data/countries/MK.yaml +6 -6
  161. data/lib/countries/data/countries/ML.yaml +13 -6
  162. data/lib/countries/data/countries/MM.yaml +13 -6
  163. data/lib/countries/data/countries/MN.yaml +13 -6
  164. data/lib/countries/data/countries/MO.yaml +13 -6
  165. data/lib/countries/data/countries/MP.yaml +13 -6
  166. data/lib/countries/data/countries/MQ.yaml +13 -6
  167. data/lib/countries/data/countries/MR.yaml +13 -6
  168. data/lib/countries/data/countries/MS.yaml +14 -7
  169. data/lib/countries/data/countries/MT.yaml +13 -6
  170. data/lib/countries/data/countries/MU.yaml +13 -6
  171. data/lib/countries/data/countries/MV.yaml +13 -6
  172. data/lib/countries/data/countries/MW.yaml +13 -6
  173. data/lib/countries/data/countries/MX.yaml +13 -6
  174. data/lib/countries/data/countries/MY.yaml +13 -6
  175. data/lib/countries/data/countries/MZ.yaml +13 -6
  176. data/lib/countries/data/countries/NA.yaml +13 -6
  177. data/lib/countries/data/countries/NC.yaml +13 -6
  178. data/lib/countries/data/countries/NE.yaml +13 -6
  179. data/lib/countries/data/countries/NF.yaml +13 -6
  180. data/lib/countries/data/countries/NG.yaml +13 -6
  181. data/lib/countries/data/countries/NI.yaml +13 -6
  182. data/lib/countries/data/countries/NL.yaml +13 -6
  183. data/lib/countries/data/countries/NO.yaml +13 -6
  184. data/lib/countries/data/countries/NP.yaml +13 -6
  185. data/lib/countries/data/countries/NR.yaml +13 -6
  186. data/lib/countries/data/countries/NU.yaml +13 -6
  187. data/lib/countries/data/countries/NZ.yaml +13 -6
  188. data/lib/countries/data/countries/OM.yaml +13 -6
  189. data/lib/countries/data/countries/PA.yaml +13 -6
  190. data/lib/countries/data/countries/PE.yaml +13 -6
  191. data/lib/countries/data/countries/PF.yaml +13 -6
  192. data/lib/countries/data/countries/PG.yaml +13 -6
  193. data/lib/countries/data/countries/PH.yaml +13 -6
  194. data/lib/countries/data/countries/PK.yaml +13 -6
  195. data/lib/countries/data/countries/PL.yaml +13 -6
  196. data/lib/countries/data/countries/PM.yaml +13 -6
  197. data/lib/countries/data/countries/PN.yaml +13 -6
  198. data/lib/countries/data/countries/PR.yaml +13 -6
  199. data/lib/countries/data/countries/PS.yaml +13 -6
  200. data/lib/countries/data/countries/PT.yaml +13 -6
  201. data/lib/countries/data/countries/PW.yaml +13 -6
  202. data/lib/countries/data/countries/PY.yaml +13 -6
  203. data/lib/countries/data/countries/QA.yaml +13 -6
  204. data/lib/countries/data/countries/RE.yaml +13 -6
  205. data/lib/countries/data/countries/RO.yaml +13 -6
  206. data/lib/countries/data/countries/RS.yaml +13 -6
  207. data/lib/countries/data/countries/RU.yaml +13 -6
  208. data/lib/countries/data/countries/RW.yaml +13 -6
  209. data/lib/countries/data/countries/SA.yaml +13 -6
  210. data/lib/countries/data/countries/SB.yaml +13 -6
  211. data/lib/countries/data/countries/SC.yaml +13 -6
  212. data/lib/countries/data/countries/SD.yaml +13 -6
  213. data/lib/countries/data/countries/SE.yaml +13 -6
  214. data/lib/countries/data/countries/SG.yaml +13 -6
  215. data/lib/countries/data/countries/SH.yaml +13 -6
  216. data/lib/countries/data/countries/SI.yaml +13 -6
  217. data/lib/countries/data/countries/SJ.yaml +13 -6
  218. data/lib/countries/data/countries/SK.yaml +13 -6
  219. data/lib/countries/data/countries/SL.yaml +13 -6
  220. data/lib/countries/data/countries/SM.yaml +13 -6
  221. data/lib/countries/data/countries/SN.yaml +13 -6
  222. data/lib/countries/data/countries/SO.yaml +13 -6
  223. data/lib/countries/data/countries/SR.yaml +13 -6
  224. data/lib/countries/data/countries/SS.yaml +13 -6
  225. data/lib/countries/data/countries/ST.yaml +13 -6
  226. data/lib/countries/data/countries/SV.yaml +13 -6
  227. data/lib/countries/data/countries/SX.yaml +14 -7
  228. data/lib/countries/data/countries/SY.yaml +13 -6
  229. data/lib/countries/data/countries/SZ.yaml +13 -6
  230. data/lib/countries/data/countries/TC.yaml +14 -7
  231. data/lib/countries/data/countries/TD.yaml +13 -6
  232. data/lib/countries/data/countries/TF.yaml +14 -7
  233. data/lib/countries/data/countries/TG.yaml +13 -6
  234. data/lib/countries/data/countries/TH.yaml +13 -6
  235. data/lib/countries/data/countries/TJ.yaml +13 -6
  236. data/lib/countries/data/countries/TK.yaml +13 -6
  237. data/lib/countries/data/countries/TL.yaml +13 -6
  238. data/lib/countries/data/countries/TM.yaml +13 -6
  239. data/lib/countries/data/countries/TN.yaml +13 -6
  240. data/lib/countries/data/countries/TO.yaml +13 -6
  241. data/lib/countries/data/countries/TR.yaml +13 -6
  242. data/lib/countries/data/countries/TT.yaml +14 -7
  243. data/lib/countries/data/countries/TV.yaml +13 -6
  244. data/lib/countries/data/countries/TW.yaml +13 -6
  245. data/lib/countries/data/countries/TZ.yaml +6 -6
  246. data/lib/countries/data/countries/UA.yaml +13 -6
  247. data/lib/countries/data/countries/UG.yaml +13 -6
  248. data/lib/countries/data/countries/UM.yaml +13 -6
  249. data/lib/countries/data/countries/US.yaml +15 -8
  250. data/lib/countries/data/countries/UY.yaml +13 -6
  251. data/lib/countries/data/countries/UZ.yaml +13 -6
  252. data/lib/countries/data/countries/VA.yaml +6 -6
  253. data/lib/countries/data/countries/VC.yaml +14 -7
  254. data/lib/countries/data/countries/VE.yaml +13 -6
  255. data/lib/countries/data/countries/VG.yaml +7 -7
  256. data/lib/countries/data/countries/VI.yaml +13 -6
  257. data/lib/countries/data/countries/VN.yaml +13 -6
  258. data/lib/countries/data/countries/VU.yaml +13 -6
  259. data/lib/countries/data/countries/WF.yaml +13 -6
  260. data/lib/countries/data/countries/WS.yaml +13 -6
  261. data/lib/countries/data/countries/YE.yaml +13 -6
  262. data/lib/countries/data/countries/YT.yaml +13 -6
  263. data/lib/countries/data/countries/ZA.yaml +13 -6
  264. data/lib/countries/data/countries/ZM.yaml +13 -6
  265. data/lib/countries/data/countries/ZW.yaml +14 -7
  266. data/lib/countries/data/translation_corrections.yaml +4 -1
  267. data/lib/countries/iso3166.rb +1 -0
  268. data/lib/countries/kwarg_struct.rb +2 -2
  269. data/lib/countries/mongoid.rb +22 -22
  270. data/lib/countries/setup.rb +1 -1
  271. data/lib/countries/structure.rb +59 -50
  272. data/lib/countries/tasks/geocoding.rake +94 -0
  273. data/lib/countries/translations.rb +12 -0
  274. data/lib/countries/version.rb +1 -1
  275. data/spec/country_spec.rb +98 -29
  276. data/spec/data_spec.rb +28 -32
  277. data/spec/global_spec.rb +19 -19
  278. data/spec/mongoid_spec.rb +1 -1
  279. data/spec/perf_spec.rb +2 -1
  280. data/spec/timezone_spec.rb +1 -1
  281. metadata +9 -6
  282. data/lib/countries/data/countries/AN.yaml +0 -46
data/spec/data_spec.rb CHANGED
@@ -12,33 +12,32 @@ describe ISO3166::Data do
12
12
  # ISO3166::Data.update_cache
13
13
  ISO3166.configuration.locales = [:es, :de, :en]
14
14
  data = ISO3166::Data.new('US').call
15
- expect(data['translated_names'].size).to eq (3)
15
+ expect(data['translated_names'].size).to eq 3
16
16
  end
17
17
 
18
18
  it 'can load selective locales and reload efficiently' do
19
19
  ISO3166.configuration.locales = [:es, :de, :en]
20
20
  data = ISO3166::Data.new('US').call
21
- expect(data['translations']).to eq({"de"=>"Vereinigte Staaten", "es"=>"Estados Unidos", "en"=>"United States"})
22
- expect(data['translated_names'].sort).to eq ["Vereinigte Staaten", "Estados Unidos", "United States"].sort
21
+ expect(data['translations']).to eq('de' => 'Vereinigte Staaten', 'es' => 'Estados Unidos', 'en' => 'United States')
22
+ expect(data['translated_names'].sort).to eq ['Vereinigte Staaten', 'Estados Unidos', 'United States'].sort
23
23
  ISO3166.configuration.locales = [:en]
24
24
  data = ISO3166::Data.new('US').call
25
- expect(data['translated_names'].size).to eq (1)
25
+ expect(data['translated_names'].size).to eq 1
26
26
  end
27
27
 
28
- describe "#codes" do
28
+ describe '#codes' do
29
29
  it 'returns an array' do
30
30
  data = ISO3166::Data.codes
31
31
  expect(data).to be_a Array
32
- expect(data.size).to eq 250
32
+ expect(data.size).to eq 249
33
33
  end
34
34
  end
35
35
 
36
-
37
36
  it 'locales will load prior to return results' do
38
37
  # require 'memory_profiler'
39
38
  ISO3166.configuration.locales = [:es, :de, :en]
40
39
  # report = MemoryProfiler.report do
41
- ISO3166::Data.update_cache
40
+ ISO3166::Data.update_cache
42
41
  # end
43
42
 
44
43
  # report.pretty_print(to_file: 'tmp/memory/3_locales')
@@ -50,7 +49,7 @@ describe ISO3166::Data do
50
49
  # puts Benchmark.measure {ISO3166::Data.update_cache}
51
50
 
52
51
  # report = MemoryProfiler.report do
53
- ISO3166::Data.update_cache
52
+ ISO3166::Data.update_cache
54
53
  # end
55
54
 
56
55
  # report.pretty_print(to_file: 'tmp/memory/all_locales')
@@ -63,20 +62,20 @@ describe ISO3166::Data do
63
62
  it 'locales will load prior and be cached' do
64
63
  ISO3166.reset
65
64
  ISO3166.configuration.locales = [:es, :de, :en]
66
- expect(ISO3166::Data.send(:locales_to_load) ).to eql(['es', 'de', 'en'])
65
+ expect(ISO3166::Data.send(:locales_to_load)).to eql(%w(es de en))
67
66
  ISO3166::Data.update_cache
68
67
  ISO3166.configuration.locales = [:es, :de, :en]
69
- expect(ISO3166::Data.send(:locales_to_load) ).to eql([])
68
+ expect(ISO3166::Data.send(:locales_to_load)).to eql([])
70
69
  end
71
70
 
72
71
  it 'locales will load prior and be cached' do
73
72
  ISO3166.reset
74
73
  ISO3166.configuration.locales = [:es, :de, :en]
75
- expect(ISO3166::Data.send(:locales_to_remove) ).to eql([])
74
+ expect(ISO3166::Data.send(:locales_to_remove)).to eql([])
76
75
  expect(ISO3166::Country.new('DE').translation('de')).to eq 'Deutschland'
77
76
  ISO3166::Data.update_cache
78
77
  ISO3166.configuration.locales = [:es, :en]
79
- expect(ISO3166::Data.send(:locales_to_remove) ).to eql(['de'])
78
+ expect(ISO3166::Data.send(:locales_to_remove)).to eql(['de'])
80
79
  expect(ISO3166::Country.new('DE').translation('de')).to eq nil
81
80
  end
82
81
 
@@ -95,41 +94,40 @@ describe ISO3166::Data do
95
94
  describe 'hotloading existing data' do
96
95
  before do
97
96
  ISO3166::Data.register(
98
- alpha2: "TW",
97
+ alpha2: 'TW',
99
98
  name: 'NEW Taiwan',
100
99
  translations: {
101
- 'en' => "NEW Taiwan",
102
- 'de' => "NEW Taiwan"
100
+ 'en' => 'NEW Taiwan',
101
+ 'de' => 'NEW Taiwan'
103
102
  }
104
103
  )
105
104
  end
106
105
 
107
- subject {ISO3166::Country.new('TW')}
106
+ subject { ISO3166::Country.new('TW') }
108
107
 
109
108
  it 'can be done' do
110
109
  data = ISO3166::Data.new('TW').call
111
110
  ISO3166.configuration.locales = [:es, :de, :de]
112
111
  expect(data['name']).to eq 'NEW Taiwan'
113
112
  expect(subject.name).to eq 'NEW Taiwan'
114
- expect(subject.translations).to eq({
115
- 'en' => "NEW Taiwan",
116
- 'de' => "NEW Taiwan"})
113
+ expect(subject.translations).to eq('en' => 'NEW Taiwan',
114
+ 'de' => 'NEW Taiwan')
117
115
  end
118
116
  end
119
117
 
120
118
  describe 'hotloading data' do
121
119
  before do
122
120
  ISO3166::Data.register(
123
- alpha2: "LOL",
121
+ alpha2: 'LOL',
124
122
  name: 'Happy Country',
125
123
  translations: {
126
- 'en' => "Happy Country",
127
- 'de' => "glückliches Land"
124
+ 'en' => 'Happy Country',
125
+ 'de' => 'glückliches Land'
128
126
  }
129
127
  )
130
128
  end
131
129
 
132
- subject {ISO3166::Country.new('LOL')}
130
+ subject { ISO3166::Country.new('LOL') }
133
131
 
134
132
  it 'can be done' do
135
133
  data = ISO3166::Data.new('LOL').call
@@ -138,7 +136,7 @@ describe ISO3166::Data do
138
136
  end
139
137
 
140
138
  it 'detect a stale cache' do
141
- ISO3166::Data.register(alpha2: "SAD", name: 'Sad Country')
139
+ ISO3166::Data.register(alpha2: 'SAD', name: 'Sad Country')
142
140
  data = ISO3166::Data.new('SAD').call
143
141
  expect(data['name']).to eq 'Sad Country'
144
142
  expect(ISO3166::Country.new('SAD').name).to eq 'Sad Country'
@@ -147,17 +145,15 @@ describe ISO3166::Data do
147
145
 
148
146
  it 'will not override custom translations' do
149
147
  data = ISO3166::Data.new('LOL').call
150
- expect(data['translations']).to eq({
151
- 'en' => "Happy Country",
152
- 'de' => "glückliches Land"})
153
- expect(subject.translations).to eq({
154
- 'en' => "Happy Country",
155
- 'de' => "glückliches Land"})
148
+ expect(data['translations']).to eq('en' => 'Happy Country',
149
+ 'de' => 'glückliches Land')
150
+ expect(subject.translations).to eq('en' => 'Happy Country',
151
+ 'de' => 'glückliches Land')
156
152
  end
157
153
 
158
154
  it 'leaves remain countries intact after a hotload' do
159
155
  data = ISO3166::Data.new('US').call
160
- expect(data).to include("subregion")
156
+ expect(data).to include('subregion')
161
157
  end
162
158
 
163
159
  it 'can be undone' do
data/spec/global_spec.rb CHANGED
@@ -1,29 +1,29 @@
1
- describe 'global Country class', order: :defined do
2
- context "when loaded via 'iso3166' existance" do
3
- subject { defined?(Country) }
1
+ describe 'global Country class', order: :defined do
2
+ context "when loaded via 'iso3166' existence" do
3
+ subject { defined?(Country) }
4
4
 
5
- it { is_expected.to be_falsey }
6
- end
5
+ it { is_expected.to be_falsey }
6
+ end
7
7
 
8
- context "when loaded via 'global'" do
9
- before { require 'countries/global' }
8
+ context "when loaded via 'global'" do
9
+ before { require 'countries/global' }
10
10
 
11
- describe 'existance' do
12
- subject { defined?(Country) }
11
+ describe 'existence' do
12
+ subject { defined?(Country) }
13
13
 
14
- it { is_expected.to be_truthy }
15
- end
14
+ it { is_expected.to be_truthy }
15
+ end
16
16
 
17
- describe 'superclass' do
18
- subject { Country.superclass }
17
+ describe 'superclass' do
18
+ subject { Country.superclass }
19
19
 
20
- it { is_expected.to eq(ISO3166::Country) }
21
- end
20
+ it { is_expected.to eq(ISO3166::Country) }
21
+ end
22
22
 
23
- describe 'to_s' do
24
- it 'should return the country name' do
25
- expect(Country.new('GB').to_s).to eq('United Kingdom')
26
- end
23
+ describe 'to_s' do
24
+ it 'should return the country name' do
25
+ expect(Country.new('GB').to_s).to eq('United Kingdom')
27
26
  end
28
27
  end
29
28
  end
29
+ end
data/spec/mongoid_spec.rb CHANGED
@@ -24,7 +24,7 @@ describe 'Mongoid support' do
24
24
  end
25
25
 
26
26
  it 'should store nil given an invalid object' do
27
- bad_types = [[], Time.now, {}, Date.today]
27
+ bad_types = [[], Time.now.utc, {}, Date.new(2029, 10, 1)]
28
28
  bad_types.each do |type|
29
29
  expect(ISO3166::Country.mongoize(type)).to eql nil
30
30
  end
data/spec/perf_spec.rb CHANGED
@@ -9,7 +9,8 @@ describe ISO3166::Data, perf: true, order: :defined do
9
9
  :lt, :lv, :mi, :mk, :ml, :mn, :mr, :ms, :mt, :nb, :ne, :nl, :nn, :oc, :or,
10
10
  :pa, :pl, :ps, :pt, :ro, :ru, :rw, :si, :sk, :sl, :so, :sq, :sr, :sv, :sw,
11
11
  :ta, :te, :th, :ti, :tk, :tl, :tr, :tt, :ug, :uk, :ve, :vi, :wa, :wo, :xh,
12
- :zh, :zu].freeze
12
+ :zh, :zu
13
+ ].freeze
13
14
 
14
15
  it 'responds to call' do
15
16
  require 'benchmark'
@@ -1,7 +1,7 @@
1
1
  describe 'timezone Country class' do
2
2
  context "when loaded via 'timezone'" do
3
3
  require 'tzinfo'
4
- describe 'existance' do
4
+ describe 'existence' do
5
5
  subject { defined?(TZInfo) }
6
6
 
7
7
  it { is_expected.to be_truthy }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: countries
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Robinson
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-09-19 00:00:00.000000000 Z
13
+ date: 2016-11-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n_data
@@ -94,6 +94,8 @@ extra_rdoc_files: []
94
94
  files:
95
95
  - ".gitignore"
96
96
  - ".rspec"
97
+ - ".rubocop.yml"
98
+ - ".rubocop_todo.yml"
97
99
  - ".travis.yml"
98
100
  - CHANGELOG.md
99
101
  - Gemfile
@@ -208,7 +210,6 @@ files:
208
210
  - lib/countries/data/countries/AI.yaml
209
211
  - lib/countries/data/countries/AL.yaml
210
212
  - lib/countries/data/countries/AM.yaml
211
- - lib/countries/data/countries/AN.yaml
212
213
  - lib/countries/data/countries/AO.yaml
213
214
  - lib/countries/data/countries/AQ.yaml
214
215
  - lib/countries/data/countries/AR.yaml
@@ -656,7 +657,9 @@ files:
656
657
  - lib/countries/setup.rb
657
658
  - lib/countries/structure.rb
658
659
  - lib/countries/subdivision.rb
660
+ - lib/countries/tasks/geocoding.rake
659
661
  - lib/countries/timezones.rb
662
+ - lib/countries/translations.rb
660
663
  - lib/countries/version.rb
661
664
  - spec/configuration_spec.rb
662
665
  - spec/country_spec.rb
@@ -682,12 +685,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
682
685
  version: '0'
683
686
  required_rubygems_version: !ruby/object:Gem::Requirement
684
687
  requirements:
685
- - - ">"
688
+ - - ">="
686
689
  - !ruby/object:Gem::Version
687
- version: 1.3.1
690
+ version: '0'
688
691
  requirements: []
689
692
  rubyforge_project:
690
- rubygems_version: 2.4.5.1
693
+ rubygems_version: 2.5.1
691
694
  signing_key:
692
695
  specification_version: 4
693
696
  summary: Gives you a country object full of all sorts of useful information.
@@ -1,46 +0,0 @@
1
- ---
2
- AN:
3
- continent: North America
4
- alpha2: AN
5
- alpha3: ANT
6
- country_code: '599'
7
- international_prefix: '00'
8
- ioc: AHO
9
- gec:
10
- name: Netherlands Antilles
11
- national_destination_code_lengths:
12
- - 2
13
- national_number_lengths:
14
- - 7
15
- national_prefix: '0'
16
- number: '530'
17
- region: Americas
18
- subregion: Caribbean
19
- world_region: AMER
20
- un_locode: AN
21
- nationality: Dutch
22
- dissolved_on: '2010-10-10'
23
- postal_code: false
24
- unofficial_names:
25
- - Netherlands Antilles
26
- - Niederländische Antillen
27
- - Antilles néerlandaises
28
- - Antillas Holandesas
29
- - "オランダ領アンティル"
30
- - Nederlandse Antillen
31
- languages_official:
32
- - nl
33
- - en
34
- languages_spoken:
35
- - nl
36
- - en
37
- geo:
38
- latitude: ''
39
- latitude_dec: '12.189866065979004'
40
- longitude: ''
41
- longitude_dec: "-68.28852081298828"
42
- max_latitude: '18.05'
43
- max_longitude: "-62.933333"
44
- min_latitude: '12.016667'
45
- min_longitude: "-69.166667"
46
- currency_code: ANG