countries 2.0.6 → 2.1.1

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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG.md +49 -3
  4. data/README.markdown +90 -93
  5. data/countries.gemspec +3 -3
  6. data/lib/countries/cache/countries.json +1 -1
  7. data/lib/countries/cache/locales/ar.json +1 -1
  8. data/lib/countries/cache/locales/fa.json +1 -1
  9. data/lib/countries/cache/locales/he.json +1 -1
  10. data/lib/countries/country/class_methods.rb +4 -1
  11. data/lib/countries/country/emoji.rb +3 -0
  12. data/lib/countries/country.rb +6 -2
  13. data/lib/countries/data/countries/AD.yaml +1 -0
  14. data/lib/countries/data/countries/AE.yaml +1 -0
  15. data/lib/countries/data/countries/AF.yaml +1 -0
  16. data/lib/countries/data/countries/AG.yaml +1 -0
  17. data/lib/countries/data/countries/AI.yaml +1 -0
  18. data/lib/countries/data/countries/AL.yaml +1 -0
  19. data/lib/countries/data/countries/AM.yaml +1 -0
  20. data/lib/countries/data/countries/AO.yaml +1 -0
  21. data/lib/countries/data/countries/AQ.yaml +1 -0
  22. data/lib/countries/data/countries/AR.yaml +1 -0
  23. data/lib/countries/data/countries/AS.yaml +1 -0
  24. data/lib/countries/data/countries/AT.yaml +1 -0
  25. data/lib/countries/data/countries/AU.yaml +1 -0
  26. data/lib/countries/data/countries/AW.yaml +1 -0
  27. data/lib/countries/data/countries/AX.yaml +1 -0
  28. data/lib/countries/data/countries/AZ.yaml +1 -0
  29. data/lib/countries/data/countries/BA.yaml +1 -0
  30. data/lib/countries/data/countries/BB.yaml +1 -0
  31. data/lib/countries/data/countries/BD.yaml +1 -0
  32. data/lib/countries/data/countries/BE.yaml +1 -0
  33. data/lib/countries/data/countries/BF.yaml +1 -0
  34. data/lib/countries/data/countries/BG.yaml +1 -0
  35. data/lib/countries/data/countries/BH.yaml +1 -0
  36. data/lib/countries/data/countries/BI.yaml +1 -0
  37. data/lib/countries/data/countries/BJ.yaml +1 -0
  38. data/lib/countries/data/countries/BL.yaml +1 -0
  39. data/lib/countries/data/countries/BM.yaml +1 -0
  40. data/lib/countries/data/countries/BN.yaml +1 -0
  41. data/lib/countries/data/countries/BO.yaml +1 -0
  42. data/lib/countries/data/countries/BQ.yaml +1 -0
  43. data/lib/countries/data/countries/BR.yaml +3 -2
  44. data/lib/countries/data/countries/BS.yaml +1 -0
  45. data/lib/countries/data/countries/BT.yaml +1 -0
  46. data/lib/countries/data/countries/BV.yaml +1 -0
  47. data/lib/countries/data/countries/BW.yaml +1 -0
  48. data/lib/countries/data/countries/BY.yaml +1 -0
  49. data/lib/countries/data/countries/BZ.yaml +1 -0
  50. data/lib/countries/data/countries/CA.yaml +1 -0
  51. data/lib/countries/data/countries/CC.yaml +1 -0
  52. data/lib/countries/data/countries/CD.yaml +1 -0
  53. data/lib/countries/data/countries/CF.yaml +1 -0
  54. data/lib/countries/data/countries/CG.yaml +1 -0
  55. data/lib/countries/data/countries/CH.yaml +1 -0
  56. data/lib/countries/data/countries/CI.yaml +1 -0
  57. data/lib/countries/data/countries/CK.yaml +1 -0
  58. data/lib/countries/data/countries/CL.yaml +1 -0
  59. data/lib/countries/data/countries/CM.yaml +1 -0
  60. data/lib/countries/data/countries/CN.yaml +1 -0
  61. data/lib/countries/data/countries/CO.yaml +1 -0
  62. data/lib/countries/data/countries/CR.yaml +1 -0
  63. data/lib/countries/data/countries/CU.yaml +1 -0
  64. data/lib/countries/data/countries/CV.yaml +1 -0
  65. data/lib/countries/data/countries/CW.yaml +1 -0
  66. data/lib/countries/data/countries/CX.yaml +1 -0
  67. data/lib/countries/data/countries/CY.yaml +1 -0
  68. data/lib/countries/data/countries/CZ.yaml +1 -0
  69. data/lib/countries/data/countries/DE.yaml +1 -0
  70. data/lib/countries/data/countries/DJ.yaml +1 -0
  71. data/lib/countries/data/countries/DK.yaml +1 -0
  72. data/lib/countries/data/countries/DM.yaml +1 -0
  73. data/lib/countries/data/countries/DO.yaml +1 -0
  74. data/lib/countries/data/countries/DZ.yaml +1 -0
  75. data/lib/countries/data/countries/EC.yaml +1 -0
  76. data/lib/countries/data/countries/EE.yaml +1 -0
  77. data/lib/countries/data/countries/EG.yaml +1 -0
  78. data/lib/countries/data/countries/EH.yaml +1 -0
  79. data/lib/countries/data/countries/ER.yaml +1 -0
  80. data/lib/countries/data/countries/ES.yaml +1 -0
  81. data/lib/countries/data/countries/ET.yaml +1 -0
  82. data/lib/countries/data/countries/FI.yaml +1 -0
  83. data/lib/countries/data/countries/FJ.yaml +2 -1
  84. data/lib/countries/data/countries/FK.yaml +1 -0
  85. data/lib/countries/data/countries/FM.yaml +1 -0
  86. data/lib/countries/data/countries/FO.yaml +1 -0
  87. data/lib/countries/data/countries/FR.yaml +1 -0
  88. data/lib/countries/data/countries/GA.yaml +1 -0
  89. data/lib/countries/data/countries/GB.yaml +2 -0
  90. data/lib/countries/data/countries/GD.yaml +1 -0
  91. data/lib/countries/data/countries/GE.yaml +1 -0
  92. data/lib/countries/data/countries/GF.yaml +1 -0
  93. data/lib/countries/data/countries/GG.yaml +1 -0
  94. data/lib/countries/data/countries/GH.yaml +1 -0
  95. data/lib/countries/data/countries/GI.yaml +1 -0
  96. data/lib/countries/data/countries/GL.yaml +1 -0
  97. data/lib/countries/data/countries/GM.yaml +1 -0
  98. data/lib/countries/data/countries/GN.yaml +1 -0
  99. data/lib/countries/data/countries/GP.yaml +1 -0
  100. data/lib/countries/data/countries/GQ.yaml +1 -0
  101. data/lib/countries/data/countries/GR.yaml +1 -0
  102. data/lib/countries/data/countries/GS.yaml +1 -0
  103. data/lib/countries/data/countries/GT.yaml +1 -0
  104. data/lib/countries/data/countries/GU.yaml +1 -0
  105. data/lib/countries/data/countries/GW.yaml +1 -0
  106. data/lib/countries/data/countries/GY.yaml +1 -0
  107. data/lib/countries/data/countries/HK.yaml +2 -1
  108. data/lib/countries/data/countries/HM.yaml +1 -0
  109. data/lib/countries/data/countries/HN.yaml +1 -0
  110. data/lib/countries/data/countries/HR.yaml +1 -0
  111. data/lib/countries/data/countries/HT.yaml +1 -0
  112. data/lib/countries/data/countries/HU.yaml +1 -0
  113. data/lib/countries/data/countries/ID.yaml +1 -0
  114. data/lib/countries/data/countries/IE.yaml +1 -0
  115. data/lib/countries/data/countries/IL.yaml +1 -0
  116. data/lib/countries/data/countries/IM.yaml +1 -0
  117. data/lib/countries/data/countries/IN.yaml +1 -0
  118. data/lib/countries/data/countries/IO.yaml +1 -0
  119. data/lib/countries/data/countries/IQ.yaml +1 -0
  120. data/lib/countries/data/countries/IR.yaml +1 -0
  121. data/lib/countries/data/countries/IS.yaml +1 -0
  122. data/lib/countries/data/countries/IT.yaml +1 -0
  123. data/lib/countries/data/countries/JE.yaml +1 -0
  124. data/lib/countries/data/countries/JM.yaml +1 -0
  125. data/lib/countries/data/countries/JO.yaml +1 -0
  126. data/lib/countries/data/countries/JP.yaml +1 -0
  127. data/lib/countries/data/countries/KE.yaml +1 -0
  128. data/lib/countries/data/countries/KG.yaml +1 -0
  129. data/lib/countries/data/countries/KH.yaml +1 -0
  130. data/lib/countries/data/countries/KI.yaml +1 -0
  131. data/lib/countries/data/countries/KM.yaml +1 -0
  132. data/lib/countries/data/countries/KN.yaml +1 -0
  133. data/lib/countries/data/countries/KP.yaml +1 -0
  134. data/lib/countries/data/countries/KR.yaml +1 -0
  135. data/lib/countries/data/countries/KW.yaml +1 -0
  136. data/lib/countries/data/countries/KY.yaml +1 -0
  137. data/lib/countries/data/countries/KZ.yaml +1 -0
  138. data/lib/countries/data/countries/LA.yaml +1 -0
  139. data/lib/countries/data/countries/LB.yaml +1 -0
  140. data/lib/countries/data/countries/LC.yaml +1 -0
  141. data/lib/countries/data/countries/LI.yaml +1 -0
  142. data/lib/countries/data/countries/LK.yaml +1 -0
  143. data/lib/countries/data/countries/LR.yaml +1 -0
  144. data/lib/countries/data/countries/LS.yaml +1 -0
  145. data/lib/countries/data/countries/LT.yaml +1 -0
  146. data/lib/countries/data/countries/LU.yaml +1 -0
  147. data/lib/countries/data/countries/LV.yaml +1 -0
  148. data/lib/countries/data/countries/LY.yaml +1 -0
  149. data/lib/countries/data/countries/MA.yaml +1 -0
  150. data/lib/countries/data/countries/MC.yaml +1 -0
  151. data/lib/countries/data/countries/MD.yaml +1 -0
  152. data/lib/countries/data/countries/ME.yaml +1 -0
  153. data/lib/countries/data/countries/MF.yaml +1 -0
  154. data/lib/countries/data/countries/MG.yaml +1 -0
  155. data/lib/countries/data/countries/MH.yaml +1 -0
  156. data/lib/countries/data/countries/MK.yaml +1 -0
  157. data/lib/countries/data/countries/ML.yaml +1 -0
  158. data/lib/countries/data/countries/MM.yaml +1 -0
  159. data/lib/countries/data/countries/MN.yaml +1 -0
  160. data/lib/countries/data/countries/MO.yaml +1 -0
  161. data/lib/countries/data/countries/MP.yaml +1 -0
  162. data/lib/countries/data/countries/MQ.yaml +1 -0
  163. data/lib/countries/data/countries/MR.yaml +1 -0
  164. data/lib/countries/data/countries/MS.yaml +1 -0
  165. data/lib/countries/data/countries/MT.yaml +1 -0
  166. data/lib/countries/data/countries/MU.yaml +1 -0
  167. data/lib/countries/data/countries/MV.yaml +1 -0
  168. data/lib/countries/data/countries/MW.yaml +1 -0
  169. data/lib/countries/data/countries/MX.yaml +1 -0
  170. data/lib/countries/data/countries/MY.yaml +1 -0
  171. data/lib/countries/data/countries/MZ.yaml +1 -0
  172. data/lib/countries/data/countries/NA.yaml +1 -0
  173. data/lib/countries/data/countries/NC.yaml +1 -0
  174. data/lib/countries/data/countries/NE.yaml +1 -0
  175. data/lib/countries/data/countries/NF.yaml +1 -0
  176. data/lib/countries/data/countries/NG.yaml +1 -0
  177. data/lib/countries/data/countries/NI.yaml +1 -0
  178. data/lib/countries/data/countries/NL.yaml +1 -0
  179. data/lib/countries/data/countries/NO.yaml +1 -0
  180. data/lib/countries/data/countries/NP.yaml +11 -0
  181. data/lib/countries/data/countries/NR.yaml +1 -0
  182. data/lib/countries/data/countries/NU.yaml +1 -0
  183. data/lib/countries/data/countries/NZ.yaml +1 -0
  184. data/lib/countries/data/countries/OM.yaml +1 -0
  185. data/lib/countries/data/countries/PA.yaml +1 -0
  186. data/lib/countries/data/countries/PE.yaml +1 -0
  187. data/lib/countries/data/countries/PF.yaml +1 -0
  188. data/lib/countries/data/countries/PG.yaml +1 -0
  189. data/lib/countries/data/countries/PH.yaml +1 -0
  190. data/lib/countries/data/countries/PK.yaml +1 -0
  191. data/lib/countries/data/countries/PL.yaml +1 -0
  192. data/lib/countries/data/countries/PM.yaml +1 -0
  193. data/lib/countries/data/countries/PN.yaml +1 -0
  194. data/lib/countries/data/countries/PR.yaml +1 -0
  195. data/lib/countries/data/countries/PS.yaml +1 -0
  196. data/lib/countries/data/countries/PT.yaml +1 -0
  197. data/lib/countries/data/countries/PW.yaml +1 -0
  198. data/lib/countries/data/countries/PY.yaml +1 -0
  199. data/lib/countries/data/countries/QA.yaml +1 -0
  200. data/lib/countries/data/countries/RE.yaml +1 -0
  201. data/lib/countries/data/countries/RO.yaml +2 -1
  202. data/lib/countries/data/countries/RS.yaml +1 -0
  203. data/lib/countries/data/countries/RU.yaml +1 -0
  204. data/lib/countries/data/countries/RW.yaml +1 -0
  205. data/lib/countries/data/countries/SA.yaml +2 -0
  206. data/lib/countries/data/countries/SB.yaml +1 -0
  207. data/lib/countries/data/countries/SC.yaml +1 -0
  208. data/lib/countries/data/countries/SD.yaml +1 -0
  209. data/lib/countries/data/countries/SE.yaml +1 -0
  210. data/lib/countries/data/countries/SG.yaml +1 -0
  211. data/lib/countries/data/countries/SH.yaml +1 -0
  212. data/lib/countries/data/countries/SI.yaml +1 -0
  213. data/lib/countries/data/countries/SJ.yaml +1 -0
  214. data/lib/countries/data/countries/SK.yaml +1 -0
  215. data/lib/countries/data/countries/SL.yaml +1 -0
  216. data/lib/countries/data/countries/SM.yaml +1 -0
  217. data/lib/countries/data/countries/SN.yaml +1 -0
  218. data/lib/countries/data/countries/SO.yaml +1 -0
  219. data/lib/countries/data/countries/SR.yaml +1 -0
  220. data/lib/countries/data/countries/SS.yaml +2 -1
  221. data/lib/countries/data/countries/ST.yaml +1 -0
  222. data/lib/countries/data/countries/SV.yaml +1 -0
  223. data/lib/countries/data/countries/SX.yaml +1 -0
  224. data/lib/countries/data/countries/SY.yaml +1 -0
  225. data/lib/countries/data/countries/SZ.yaml +1 -0
  226. data/lib/countries/data/countries/TC.yaml +1 -0
  227. data/lib/countries/data/countries/TD.yaml +1 -0
  228. data/lib/countries/data/countries/TF.yaml +1 -0
  229. data/lib/countries/data/countries/TG.yaml +1 -0
  230. data/lib/countries/data/countries/TH.yaml +1 -0
  231. data/lib/countries/data/countries/TJ.yaml +1 -0
  232. data/lib/countries/data/countries/TK.yaml +1 -0
  233. data/lib/countries/data/countries/TL.yaml +1 -0
  234. data/lib/countries/data/countries/TM.yaml +1 -0
  235. data/lib/countries/data/countries/TN.yaml +1 -0
  236. data/lib/countries/data/countries/TO.yaml +1 -0
  237. data/lib/countries/data/countries/TR.yaml +1 -0
  238. data/lib/countries/data/countries/TT.yaml +1 -0
  239. data/lib/countries/data/countries/TV.yaml +1 -0
  240. data/lib/countries/data/countries/TW.yaml +1 -0
  241. data/lib/countries/data/countries/TZ.yaml +1 -0
  242. data/lib/countries/data/countries/UA.yaml +1 -0
  243. data/lib/countries/data/countries/UG.yaml +1 -0
  244. data/lib/countries/data/countries/UM.yaml +1 -0
  245. data/lib/countries/data/countries/US.yaml +1 -0
  246. data/lib/countries/data/countries/UY.yaml +1 -0
  247. data/lib/countries/data/countries/UZ.yaml +1 -0
  248. data/lib/countries/data/countries/VA.yaml +1 -0
  249. data/lib/countries/data/countries/VC.yaml +1 -0
  250. data/lib/countries/data/countries/VE.yaml +1 -0
  251. data/lib/countries/data/countries/VG.yaml +1 -0
  252. data/lib/countries/data/countries/VI.yaml +1 -0
  253. data/lib/countries/data/countries/VN.yaml +1 -0
  254. data/lib/countries/data/countries/VU.yaml +1 -0
  255. data/lib/countries/data/countries/WF.yaml +1 -0
  256. data/lib/countries/data/countries/WS.yaml +1 -0
  257. data/lib/countries/data/countries/YE.yaml +1 -0
  258. data/lib/countries/data/countries/YT.yaml +1 -0
  259. data/lib/countries/data/countries/ZA.yaml +1 -0
  260. data/lib/countries/data/countries/ZM.yaml +1 -0
  261. data/lib/countries/data/countries/ZW.yaml +1 -0
  262. data/lib/countries/data/subdivisions/FR.yaml +182 -0
  263. data/lib/countries/data/subdivisions/PH.yaml +0 -12
  264. data/lib/countries/data/subdivisions/TM.yaml +0 -14
  265. data/lib/countries/data/subdivisions/TR.yaml +78 -79
  266. data/lib/countries/data/translation_corrections.yaml +9 -5
  267. data/lib/countries/data.rb +12 -3
  268. data/lib/countries/structure.rb +1 -0
  269. data/lib/countries/subdivision.rb +1 -0
  270. data/lib/countries/version.rb +1 -1
  271. data/spec/country_spec.rb +21 -0
  272. data/spec/data_spec.rb +14 -2
  273. metadata +7 -7
@@ -11,16 +11,20 @@
11
11
  #
12
12
  ---
13
13
  oc:
14
- US: USA
14
+ US: USA
15
15
  ar:
16
16
  PS: "فلسطين"
17
17
  SA: "السعودية"
18
- AE: "الامارات العربية المتحدة"
18
+ AE: "الإمارات العربيّة المتّحدة"
19
19
  SD: "السودان"
20
20
  SO: "الصومال‎"
21
21
  SY: "سوريا"
22
+ BQ: "بونير، سينت أوستاتيوس وسابا"
23
+ CW: "كوراساو"
22
24
  zh:
23
25
  KH: '柬埔寨'
24
- ar:
25
- BQ: "بونير، سينت أوستاتيوس وسابا"
26
- CW: "كوراساو"
26
+ fa:
27
+ IR: "ایران"
28
+ he:
29
+ PS: "פלסטין, מדינת"
30
+ VI: "איי הבתולה (ארה)"
@@ -2,6 +2,7 @@ module ISO3166
2
2
  ##
3
3
  # Handles building the in memory store of countries data
4
4
  class Data
5
+ @@cache_dir = [File.dirname(__FILE__), 'cache']
5
6
  @@cache = {}
6
7
  @@registered_data = {}
7
8
 
@@ -14,6 +15,14 @@ module ISO3166
14
15
  end
15
16
 
16
17
  class << self
18
+ def cache_dir
19
+ @@cache_dir
20
+ end
21
+
22
+ def cache_dir=(value)
23
+ @@cache_dir = value
24
+ end
25
+
17
26
  def register(data)
18
27
  alpha2 = data[:alpha2].upcase
19
28
  @@registered_data[alpha2] = \
@@ -52,7 +61,7 @@ module ISO3166
52
61
 
53
62
  def load_data!
54
63
  return @@cache unless load_required?
55
- @@cache = load_cache %w(cache countries.json)
64
+ @@cache = load_cache %w(countries.json)
56
65
  @@_country_codes = @@cache.keys
57
66
  @@cache = @@cache.merge(@@registered_data)
58
67
  @@cache
@@ -106,7 +115,7 @@ module ISO3166
106
115
  end
107
116
 
108
117
  def load_translations(locale)
109
- locale_names = load_cache(['cache', 'locales', "#{locale}.json"])
118
+ locale_names = load_cache(['locales', "#{locale}.json"])
110
119
  internal_codes.each do |alpha2|
111
120
  @@cache[alpha2]['translations'] ||= Translations.new
112
121
  @@cache[alpha2]['translations'][locale] = locale_names[alpha2].freeze
@@ -129,7 +138,7 @@ module ISO3166
129
138
  end
130
139
 
131
140
  def datafile_path(file_array)
132
- File.join([File.dirname(__FILE__)] + file_array)
141
+ File.join([@@cache_dir] + file_array)
133
142
  end
134
143
  end
135
144
  end
@@ -44,6 +44,7 @@ module ISO3166
44
44
  'postal_code' => nil,
45
45
  'region' => nil,
46
46
  'unofficial_names' => [],
47
+ 'start_of_week' => 'monday',
47
48
  'subregion' => nil,
48
49
  'un_locode' => nil,
49
50
  'vat_rates' => {
@@ -1,6 +1,7 @@
1
1
  module ISO3166
2
2
  Subdivision = KwargStruct.new(
3
3
  :name,
4
+ :code,
4
5
  :unofficial_names,
5
6
  :geo,
6
7
  :translations,
@@ -1,3 +1,3 @@
1
1
  module Countries
2
- VERSION = '2.0.6'.freeze
2
+ VERSION = '2.1.1'.freeze
3
3
  end
data/spec/country_spec.rb CHANGED
@@ -318,6 +318,27 @@ describe ISO3166::Country do
318
318
 
319
319
  describe 'all_names_with_codes' do
320
320
  require 'active_support/core_ext/string/output_safety'
321
+ it 'should return an alphabetized list of all country names with ISOCODE alpha2' do
322
+ countries = ISO3166::Country.all_names_with_codes
323
+ expect(countries).to be_an(Array)
324
+ expect(countries.first[0]).to be_a(String)
325
+ expect(countries.first[0]).to eq('Afghanistan')
326
+ expect(countries.size).to eq(NUM_OF_COUNTRIES)
327
+ expect(countries.any?{|pair| !pair[0].html_safe?}).to eq(false)
328
+ end
329
+
330
+ it 'should return an alphabetized list of all country names translated to current locale with ISOCODE alpha2' do
331
+ ISO3166.configuration.locales = [:es, :de, :en]
332
+
333
+ countries = ISO3166::Country.all_names_with_codes(:es)
334
+ expect(countries).to be_an(Array)
335
+ expect(countries.first[0]).to be_a(String)
336
+ expect(countries.first[0]).to eq('Afganistán')
337
+ expect(countries.size).to eq(NUM_OF_COUNTRIES)
338
+ end
339
+ end
340
+
341
+ describe 'all_names_with_codes_without_active_support' do
321
342
  it 'should return an alphabetized list of all country names with ISOCODE alpha2' do
322
343
  countries = ISO3166::Country.all_names_with_codes
323
344
  expect(countries).to be_an(Array)
data/spec/data_spec.rb CHANGED
@@ -81,12 +81,12 @@ describe ISO3166::Data do
81
81
 
82
82
  describe '#load_cache' do
83
83
  it 'will return an empty hash for an unsupported locale' do
84
- file_array = %w(cache locales unsupported.json)
84
+ file_array = %w(locales unsupported.json)
85
85
  expect(ISO3166::Data.send(:load_cache, file_array)).to eql({})
86
86
  end
87
87
 
88
88
  it 'will return json for a supported locale' do
89
- file_array = %w(cache locales en.json)
89
+ file_array = %w(locales en.json)
90
90
  expect(ISO3166::Data.send(:load_cache, file_array)).not_to be_empty
91
91
  end
92
92
  end
@@ -96,6 +96,10 @@ describe ISO3166::Data do
96
96
  ISO3166::Data.register(
97
97
  alpha2: 'TW',
98
98
  name: 'NEW Taiwan',
99
+ subdivisions: {
100
+ CHA: {name: 'New Changhua'},
101
+ CYI: {name: 'New Municipality'}
102
+ },
99
103
  translations: {
100
104
  'en' => 'NEW Taiwan',
101
105
  'de' => 'NEW Taiwan'
@@ -112,6 +116,8 @@ describe ISO3166::Data do
112
116
  expect(subject.name).to eq 'NEW Taiwan'
113
117
  expect(subject.translations).to eq('en' => 'NEW Taiwan',
114
118
  'de' => 'NEW Taiwan')
119
+ expect(subject.subdivisions).to eq(CHA: ISO3166::Subdivision.new({name: 'New Changhua'}),
120
+ CYI: ISO3166::Subdivision.new({name: 'New Municipality'}))
115
121
  end
116
122
  end
117
123
 
@@ -120,6 +126,10 @@ describe ISO3166::Data do
120
126
  ISO3166::Data.register(
121
127
  alpha2: 'LOL',
122
128
  name: 'Happy Country',
129
+ subdivisions: {
130
+ LOL1: {name: 'Happy sub1'},
131
+ LOL2: {name: 'Happy sub2'}
132
+ },
123
133
  translations: {
124
134
  'en' => 'Happy Country',
125
135
  'de' => 'glückliches Land'
@@ -133,6 +143,8 @@ describe ISO3166::Data do
133
143
  data = ISO3166::Data.new('LOL').call
134
144
  expect(data['name']).to eq 'Happy Country'
135
145
  expect(subject.name).to eq 'Happy Country'
146
+ expect(subject.subdivisions).to eq(LOL1: ISO3166::Subdivision.new({name: 'Happy sub1'}),
147
+ LOL2: ISO3166::Subdivision.new({name: 'Happy sub2'}))
136
148
  end
137
149
 
138
150
  it 'detect a stale cache' do
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.6
4
+ version: 2.1.1
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: 2017-01-17 00:00:00.000000000 Z
13
+ date: 2017-07-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n_data
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 0.7.0
21
+ version: 0.8.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 0.7.0
28
+ version: 0.8.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: money
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '6.7'
35
+ version: '6.9'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '6.7'
42
+ version: '6.9'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: unicode_utils
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -704,7 +704,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
704
704
  version: '0'
705
705
  requirements: []
706
706
  rubyforge_project:
707
- rubygems_version: 2.5.2
707
+ rubygems_version: 2.6.12
708
708
  signing_key:
709
709
  specification_version: 4
710
710
  summary: Gives you a country object full of all sorts of useful information.