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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +52 -0
- data/CHANGELOG.md +15 -0
- data/README.markdown +10 -3
- data/Rakefile +24 -75
- data/bin/console +3 -3
- data/countries.gemspec +0 -1
- data/lib/countries.rb +2 -2
- data/lib/countries/cache/countries.json +1 -1
- data/lib/countries/cache/locales/ar.json +1 -1
- data/lib/countries/configuration.rb +4 -4
- data/lib/countries/country.rb +18 -17
- data/lib/countries/country/class_methods.rb +40 -20
- data/lib/countries/country/emoji.rb +28 -27
- data/lib/countries/data.rb +7 -8
- data/lib/countries/data/countries/AD.yaml +13 -6
- data/lib/countries/data/countries/AE.yaml +13 -6
- data/lib/countries/data/countries/AF.yaml +13 -6
- data/lib/countries/data/countries/AG.yaml +14 -7
- data/lib/countries/data/countries/AI.yaml +14 -7
- data/lib/countries/data/countries/AL.yaml +13 -6
- data/lib/countries/data/countries/AM.yaml +13 -6
- data/lib/countries/data/countries/AO.yaml +13 -6
- data/lib/countries/data/countries/AQ.yaml +13 -6
- data/lib/countries/data/countries/AR.yaml +13 -6
- data/lib/countries/data/countries/AS.yaml +14 -7
- data/lib/countries/data/countries/AT.yaml +13 -6
- data/lib/countries/data/countries/AU.yaml +13 -6
- data/lib/countries/data/countries/AW.yaml +13 -6
- data/lib/countries/data/countries/AX.yaml +13 -6
- data/lib/countries/data/countries/AZ.yaml +13 -6
- data/lib/countries/data/countries/BA.yaml +13 -6
- data/lib/countries/data/countries/BB.yaml +14 -7
- data/lib/countries/data/countries/BD.yaml +13 -6
- data/lib/countries/data/countries/BE.yaml +13 -6
- data/lib/countries/data/countries/BF.yaml +13 -6
- data/lib/countries/data/countries/BG.yaml +13 -6
- data/lib/countries/data/countries/BH.yaml +13 -6
- data/lib/countries/data/countries/BI.yaml +13 -6
- data/lib/countries/data/countries/BJ.yaml +13 -6
- data/lib/countries/data/countries/BL.yaml +13 -6
- data/lib/countries/data/countries/BM.yaml +14 -7
- data/lib/countries/data/countries/BN.yaml +13 -6
- data/lib/countries/data/countries/BO.yaml +13 -6
- data/lib/countries/data/countries/BQ.yaml +13 -6
- data/lib/countries/data/countries/BR.yaml +13 -6
- data/lib/countries/data/countries/BS.yaml +14 -7
- data/lib/countries/data/countries/BT.yaml +13 -6
- data/lib/countries/data/countries/BV.yaml +13 -6
- data/lib/countries/data/countries/BW.yaml +13 -6
- data/lib/countries/data/countries/BY.yaml +13 -6
- data/lib/countries/data/countries/BZ.yaml +13 -6
- data/lib/countries/data/countries/CA.yaml +13 -6
- data/lib/countries/data/countries/CC.yaml +13 -6
- data/lib/countries/data/countries/CD.yaml +6 -6
- data/lib/countries/data/countries/CF.yaml +13 -6
- data/lib/countries/data/countries/CG.yaml +13 -6
- data/lib/countries/data/countries/CH.yaml +15 -8
- data/lib/countries/data/countries/CI.yaml +13 -6
- data/lib/countries/data/countries/CK.yaml +13 -6
- data/lib/countries/data/countries/CL.yaml +13 -6
- data/lib/countries/data/countries/CM.yaml +13 -6
- data/lib/countries/data/countries/CN.yaml +13 -6
- data/lib/countries/data/countries/CO.yaml +13 -6
- data/lib/countries/data/countries/CR.yaml +13 -6
- data/lib/countries/data/countries/CU.yaml +13 -6
- data/lib/countries/data/countries/CV.yaml +13 -6
- data/lib/countries/data/countries/CW.yaml +13 -6
- data/lib/countries/data/countries/CX.yaml +13 -6
- data/lib/countries/data/countries/CY.yaml +13 -6
- data/lib/countries/data/countries/CZ.yaml +13 -6
- data/lib/countries/data/countries/DE.yaml +13 -6
- data/lib/countries/data/countries/DJ.yaml +13 -6
- data/lib/countries/data/countries/DK.yaml +13 -6
- data/lib/countries/data/countries/DM.yaml +14 -7
- data/lib/countries/data/countries/DO.yaml +13 -6
- data/lib/countries/data/countries/DZ.yaml +13 -6
- data/lib/countries/data/countries/EC.yaml +13 -6
- data/lib/countries/data/countries/EE.yaml +13 -6
- data/lib/countries/data/countries/EG.yaml +13 -6
- data/lib/countries/data/countries/EH.yaml +13 -6
- data/lib/countries/data/countries/ER.yaml +13 -6
- data/lib/countries/data/countries/ES.yaml +13 -6
- data/lib/countries/data/countries/ET.yaml +13 -6
- data/lib/countries/data/countries/FI.yaml +13 -6
- data/lib/countries/data/countries/FJ.yaml +13 -6
- data/lib/countries/data/countries/FK.yaml +13 -6
- data/lib/countries/data/countries/FM.yaml +6 -6
- data/lib/countries/data/countries/FO.yaml +13 -6
- data/lib/countries/data/countries/FR.yaml +13 -6
- data/lib/countries/data/countries/GA.yaml +13 -6
- data/lib/countries/data/countries/GB.yaml +13 -6
- data/lib/countries/data/countries/GD.yaml +14 -7
- data/lib/countries/data/countries/GE.yaml +13 -6
- data/lib/countries/data/countries/GF.yaml +13 -6
- data/lib/countries/data/countries/GG.yaml +13 -6
- data/lib/countries/data/countries/GH.yaml +13 -6
- data/lib/countries/data/countries/GI.yaml +13 -6
- data/lib/countries/data/countries/GL.yaml +13 -6
- data/lib/countries/data/countries/GM.yaml +13 -6
- data/lib/countries/data/countries/GN.yaml +13 -6
- data/lib/countries/data/countries/GP.yaml +13 -6
- data/lib/countries/data/countries/GQ.yaml +13 -6
- data/lib/countries/data/countries/GR.yaml +13 -6
- data/lib/countries/data/countries/GS.yaml +13 -6
- data/lib/countries/data/countries/GT.yaml +13 -6
- data/lib/countries/data/countries/GU.yaml +14 -7
- data/lib/countries/data/countries/GW.yaml +13 -6
- data/lib/countries/data/countries/GY.yaml +13 -6
- data/lib/countries/data/countries/HK.yaml +13 -6
- data/lib/countries/data/countries/HM.yaml +6 -6
- data/lib/countries/data/countries/HN.yaml +13 -6
- data/lib/countries/data/countries/HR.yaml +13 -6
- data/lib/countries/data/countries/HT.yaml +13 -6
- data/lib/countries/data/countries/HU.yaml +13 -6
- data/lib/countries/data/countries/ID.yaml +13 -6
- data/lib/countries/data/countries/IE.yaml +13 -6
- data/lib/countries/data/countries/IL.yaml +13 -6
- data/lib/countries/data/countries/IM.yaml +13 -6
- data/lib/countries/data/countries/IN.yaml +13 -6
- data/lib/countries/data/countries/IO.yaml +13 -6
- data/lib/countries/data/countries/IQ.yaml +13 -6
- data/lib/countries/data/countries/IR.yaml +13 -6
- data/lib/countries/data/countries/IS.yaml +13 -6
- data/lib/countries/data/countries/IT.yaml +13 -6
- data/lib/countries/data/countries/JE.yaml +13 -6
- data/lib/countries/data/countries/JM.yaml +14 -7
- data/lib/countries/data/countries/JO.yaml +13 -6
- data/lib/countries/data/countries/JP.yaml +13 -6
- data/lib/countries/data/countries/KE.yaml +13 -6
- data/lib/countries/data/countries/KG.yaml +13 -6
- data/lib/countries/data/countries/KH.yaml +13 -6
- data/lib/countries/data/countries/KI.yaml +13 -6
- data/lib/countries/data/countries/KM.yaml +13 -6
- data/lib/countries/data/countries/KN.yaml +14 -7
- data/lib/countries/data/countries/KP.yaml +6 -6
- data/lib/countries/data/countries/KR.yaml +13 -6
- data/lib/countries/data/countries/KW.yaml +13 -6
- data/lib/countries/data/countries/KY.yaml +14 -7
- data/lib/countries/data/countries/KZ.yaml +13 -6
- data/lib/countries/data/countries/LA.yaml +13 -6
- data/lib/countries/data/countries/LB.yaml +13 -6
- data/lib/countries/data/countries/LC.yaml +14 -7
- data/lib/countries/data/countries/LI.yaml +13 -6
- data/lib/countries/data/countries/LK.yaml +13 -6
- data/lib/countries/data/countries/LR.yaml +13 -6
- data/lib/countries/data/countries/LS.yaml +13 -6
- data/lib/countries/data/countries/LT.yaml +13 -6
- data/lib/countries/data/countries/LU.yaml +13 -6
- data/lib/countries/data/countries/LV.yaml +13 -6
- data/lib/countries/data/countries/LY.yaml +13 -6
- data/lib/countries/data/countries/MA.yaml +13 -6
- data/lib/countries/data/countries/MC.yaml +13 -6
- data/lib/countries/data/countries/MD.yaml +13 -6
- data/lib/countries/data/countries/ME.yaml +13 -6
- data/lib/countries/data/countries/MF.yaml +13 -6
- data/lib/countries/data/countries/MG.yaml +13 -6
- data/lib/countries/data/countries/MH.yaml +13 -6
- data/lib/countries/data/countries/MK.yaml +6 -6
- data/lib/countries/data/countries/ML.yaml +13 -6
- data/lib/countries/data/countries/MM.yaml +13 -6
- data/lib/countries/data/countries/MN.yaml +13 -6
- data/lib/countries/data/countries/MO.yaml +13 -6
- data/lib/countries/data/countries/MP.yaml +13 -6
- data/lib/countries/data/countries/MQ.yaml +13 -6
- data/lib/countries/data/countries/MR.yaml +13 -6
- data/lib/countries/data/countries/MS.yaml +14 -7
- data/lib/countries/data/countries/MT.yaml +13 -6
- data/lib/countries/data/countries/MU.yaml +13 -6
- data/lib/countries/data/countries/MV.yaml +13 -6
- data/lib/countries/data/countries/MW.yaml +13 -6
- data/lib/countries/data/countries/MX.yaml +13 -6
- data/lib/countries/data/countries/MY.yaml +13 -6
- data/lib/countries/data/countries/MZ.yaml +13 -6
- data/lib/countries/data/countries/NA.yaml +13 -6
- data/lib/countries/data/countries/NC.yaml +13 -6
- data/lib/countries/data/countries/NE.yaml +13 -6
- data/lib/countries/data/countries/NF.yaml +13 -6
- data/lib/countries/data/countries/NG.yaml +13 -6
- data/lib/countries/data/countries/NI.yaml +13 -6
- data/lib/countries/data/countries/NL.yaml +13 -6
- data/lib/countries/data/countries/NO.yaml +13 -6
- data/lib/countries/data/countries/NP.yaml +13 -6
- data/lib/countries/data/countries/NR.yaml +13 -6
- data/lib/countries/data/countries/NU.yaml +13 -6
- data/lib/countries/data/countries/NZ.yaml +13 -6
- data/lib/countries/data/countries/OM.yaml +13 -6
- data/lib/countries/data/countries/PA.yaml +13 -6
- data/lib/countries/data/countries/PE.yaml +13 -6
- data/lib/countries/data/countries/PF.yaml +13 -6
- data/lib/countries/data/countries/PG.yaml +13 -6
- data/lib/countries/data/countries/PH.yaml +13 -6
- data/lib/countries/data/countries/PK.yaml +13 -6
- data/lib/countries/data/countries/PL.yaml +13 -6
- data/lib/countries/data/countries/PM.yaml +13 -6
- data/lib/countries/data/countries/PN.yaml +13 -6
- data/lib/countries/data/countries/PR.yaml +13 -6
- data/lib/countries/data/countries/PS.yaml +13 -6
- data/lib/countries/data/countries/PT.yaml +13 -6
- data/lib/countries/data/countries/PW.yaml +13 -6
- data/lib/countries/data/countries/PY.yaml +13 -6
- data/lib/countries/data/countries/QA.yaml +13 -6
- data/lib/countries/data/countries/RE.yaml +13 -6
- data/lib/countries/data/countries/RO.yaml +13 -6
- data/lib/countries/data/countries/RS.yaml +13 -6
- data/lib/countries/data/countries/RU.yaml +13 -6
- data/lib/countries/data/countries/RW.yaml +13 -6
- data/lib/countries/data/countries/SA.yaml +13 -6
- data/lib/countries/data/countries/SB.yaml +13 -6
- data/lib/countries/data/countries/SC.yaml +13 -6
- data/lib/countries/data/countries/SD.yaml +13 -6
- data/lib/countries/data/countries/SE.yaml +13 -6
- data/lib/countries/data/countries/SG.yaml +13 -6
- data/lib/countries/data/countries/SH.yaml +13 -6
- data/lib/countries/data/countries/SI.yaml +13 -6
- data/lib/countries/data/countries/SJ.yaml +13 -6
- data/lib/countries/data/countries/SK.yaml +13 -6
- data/lib/countries/data/countries/SL.yaml +13 -6
- data/lib/countries/data/countries/SM.yaml +13 -6
- data/lib/countries/data/countries/SN.yaml +13 -6
- data/lib/countries/data/countries/SO.yaml +13 -6
- data/lib/countries/data/countries/SR.yaml +13 -6
- data/lib/countries/data/countries/SS.yaml +13 -6
- data/lib/countries/data/countries/ST.yaml +13 -6
- data/lib/countries/data/countries/SV.yaml +13 -6
- data/lib/countries/data/countries/SX.yaml +14 -7
- data/lib/countries/data/countries/SY.yaml +13 -6
- data/lib/countries/data/countries/SZ.yaml +13 -6
- data/lib/countries/data/countries/TC.yaml +14 -7
- data/lib/countries/data/countries/TD.yaml +13 -6
- data/lib/countries/data/countries/TF.yaml +14 -7
- data/lib/countries/data/countries/TG.yaml +13 -6
- data/lib/countries/data/countries/TH.yaml +13 -6
- data/lib/countries/data/countries/TJ.yaml +13 -6
- data/lib/countries/data/countries/TK.yaml +13 -6
- data/lib/countries/data/countries/TL.yaml +13 -6
- data/lib/countries/data/countries/TM.yaml +13 -6
- data/lib/countries/data/countries/TN.yaml +13 -6
- data/lib/countries/data/countries/TO.yaml +13 -6
- data/lib/countries/data/countries/TR.yaml +13 -6
- data/lib/countries/data/countries/TT.yaml +14 -7
- data/lib/countries/data/countries/TV.yaml +13 -6
- data/lib/countries/data/countries/TW.yaml +13 -6
- data/lib/countries/data/countries/TZ.yaml +6 -6
- data/lib/countries/data/countries/UA.yaml +13 -6
- data/lib/countries/data/countries/UG.yaml +13 -6
- data/lib/countries/data/countries/UM.yaml +13 -6
- data/lib/countries/data/countries/US.yaml +15 -8
- data/lib/countries/data/countries/UY.yaml +13 -6
- data/lib/countries/data/countries/UZ.yaml +13 -6
- data/lib/countries/data/countries/VA.yaml +6 -6
- data/lib/countries/data/countries/VC.yaml +14 -7
- data/lib/countries/data/countries/VE.yaml +13 -6
- data/lib/countries/data/countries/VG.yaml +7 -7
- data/lib/countries/data/countries/VI.yaml +13 -6
- data/lib/countries/data/countries/VN.yaml +13 -6
- data/lib/countries/data/countries/VU.yaml +13 -6
- data/lib/countries/data/countries/WF.yaml +13 -6
- data/lib/countries/data/countries/WS.yaml +13 -6
- data/lib/countries/data/countries/YE.yaml +13 -6
- data/lib/countries/data/countries/YT.yaml +13 -6
- data/lib/countries/data/countries/ZA.yaml +13 -6
- data/lib/countries/data/countries/ZM.yaml +13 -6
- data/lib/countries/data/countries/ZW.yaml +14 -7
- data/lib/countries/data/translation_corrections.yaml +4 -1
- data/lib/countries/iso3166.rb +1 -0
- data/lib/countries/kwarg_struct.rb +2 -2
- data/lib/countries/mongoid.rb +22 -22
- data/lib/countries/setup.rb +1 -1
- data/lib/countries/structure.rb +59 -50
- data/lib/countries/tasks/geocoding.rake +94 -0
- data/lib/countries/translations.rb +12 -0
- data/lib/countries/version.rb +1 -1
- data/spec/country_spec.rb +98 -29
- data/spec/data_spec.rb +28 -32
- data/spec/global_spec.rb +19 -19
- data/spec/mongoid_spec.rb +1 -1
- data/spec/perf_spec.rb +2 -1
- data/spec/timezone_spec.rb +1 -1
- metadata +9 -6
- 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
|
|
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(
|
|
22
|
-
expect(data['translated_names'].sort).to eq [
|
|
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
|
|
25
|
+
expect(data['translated_names'].size).to eq 1
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
describe
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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:
|
|
97
|
+
alpha2: 'TW',
|
|
99
98
|
name: 'NEW Taiwan',
|
|
100
99
|
translations: {
|
|
101
|
-
'en' =>
|
|
102
|
-
'de' =>
|
|
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
|
-
|
|
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:
|
|
121
|
+
alpha2: 'LOL',
|
|
124
122
|
name: 'Happy Country',
|
|
125
123
|
translations: {
|
|
126
|
-
'en' =>
|
|
127
|
-
'de' =>
|
|
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:
|
|
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
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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(
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
describe 'global Country class', order: :defined do
|
|
2
|
+
context "when loaded via 'iso3166' existence" do
|
|
3
|
+
subject { defined?(Country) }
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
it { is_expected.to be_falsey }
|
|
6
|
+
end
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
context "when loaded via 'global'" do
|
|
9
|
+
before { require 'countries/global' }
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
describe 'existence' do
|
|
12
|
+
subject { defined?(Country) }
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
it { is_expected.to be_truthy }
|
|
15
|
+
end
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
describe 'superclass' do
|
|
18
|
+
subject { Country.superclass }
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
it { is_expected.to eq(ISO3166::Country) }
|
|
21
|
+
end
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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.
|
|
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
|
|
12
|
+
:zh, :zu
|
|
13
|
+
].freeze
|
|
13
14
|
|
|
14
15
|
it 'responds to call' do
|
|
15
16
|
require 'benchmark'
|
data/spec/timezone_spec.rb
CHANGED
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
|
|
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-
|
|
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:
|
|
690
|
+
version: '0'
|
|
688
691
|
requirements: []
|
|
689
692
|
rubyforge_project:
|
|
690
|
-
rubygems_version: 2.
|
|
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
|