countries 2.0.5 β 2.0.6
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/.travis.yml +4 -3
- data/README.markdown +1 -1
- data/countries.gemspec +1 -0
- data/lib/countries/cache/countries.json +1 -1
- data/lib/countries/data.rb +9 -5
- data/lib/countries/data/countries/AX.yaml +1 -1
- data/lib/countries/data/countries/BL.yaml +1 -1
- data/lib/countries/data/countries/BO.yaml +1 -1
- data/lib/countries/data/countries/BV.yaml +1 -1
- data/lib/countries/data/countries/CD.yaml +1 -1
- data/lib/countries/data/countries/CI.yaml +1 -1
- data/lib/countries/data/countries/CV.yaml +1 -1
- data/lib/countries/data/countries/CZ.yaml +1 -1
- data/lib/countries/data/countries/FM.yaml +1 -1
- data/lib/countries/data/countries/GB.yaml +1 -1
- data/lib/countries/data/countries/GF.yaml +1 -0
- data/lib/countries/data/countries/GG.yaml +1 -1
- data/lib/countries/data/countries/HM.yaml +1 -1
- data/lib/countries/data/countries/IM.yaml +1 -1
- data/lib/countries/data/countries/IR.yaml +1 -1
- data/lib/countries/data/countries/JE.yaml +1 -1
- data/lib/countries/data/countries/KN.yaml +1 -1
- data/lib/countries/data/countries/KP.yaml +1 -1
- data/lib/countries/data/countries/KR.yaml +1 -1
- data/lib/countries/data/countries/MD.yaml +1 -1
- data/lib/countries/data/countries/MF.yaml +2 -2
- data/lib/countries/data/countries/MK.yaml +1 -1
- data/lib/countries/data/countries/NO.yaml +1 -1
- data/lib/countries/data/countries/PM.yaml +1 -1
- data/lib/countries/data/countries/PS.yaml +1 -1
- data/lib/countries/data/countries/SH.yaml +1 -1
- data/lib/countries/data/countries/SJ.yaml +1 -1
- data/lib/countries/data/countries/SS.yaml +1 -0
- data/lib/countries/data/countries/SX.yaml +1 -1
- data/lib/countries/data/countries/TF.yaml +1 -1
- data/lib/countries/data/countries/TL.yaml +1 -1
- data/lib/countries/data/countries/TW.yaml +1 -1
- data/lib/countries/data/countries/VA.yaml +1 -1
- data/lib/countries/data/countries/VC.yaml +1 -1
- data/lib/countries/data/countries/VE.yaml +1 -1
- data/lib/countries/data/countries/VG.yaml +1 -1
- data/lib/countries/data/countries/VI.yaml +1 -1
- data/lib/countries/data/countries/VN.yaml +1 -1
- data/lib/countries/version.rb +1 -1
- data/spec/country_spec.rb +11 -2
- data/spec/global_spec.rb +1 -1
- data/spec/perf_spec.rb +23 -4
- metadata +17 -3
data/lib/countries/version.rb
CHANGED
data/spec/country_spec.rb
CHANGED
@@ -734,7 +734,7 @@ describe ISO3166::Country do
|
|
734
734
|
|
735
735
|
describe 'to_s' do
|
736
736
|
it 'should return the country name' do
|
737
|
-
expect(ISO3166::Country.new('GB').to_s).to eq('United Kingdom')
|
737
|
+
expect(ISO3166::Country.new('GB').to_s).to eq('United Kingdom of Great Britain and Northern Ireland')
|
738
738
|
end
|
739
739
|
end
|
740
740
|
|
@@ -768,7 +768,7 @@ describe ISO3166::Country do
|
|
768
768
|
it 'should return country if not convertable input given' do
|
769
769
|
expect do
|
770
770
|
ISO3166::Country(42)
|
771
|
-
end.to raise_error(TypeError,
|
771
|
+
end.to raise_error(TypeError, /can't convert ([A-z]+) into ISO3166::Country/)
|
772
772
|
end
|
773
773
|
end
|
774
774
|
|
@@ -806,4 +806,13 @@ describe ISO3166::Country do
|
|
806
806
|
expect(country.emoji_flag).to eq 'πΊπΈ'
|
807
807
|
end
|
808
808
|
end
|
809
|
+
|
810
|
+
describe '#un_locode' do
|
811
|
+
let(:countries) { ISO3166::Country.all }
|
812
|
+
|
813
|
+
it 'should have two letter un_locode for each country' do
|
814
|
+
expect(countries.all? { |country| !country.un_locode.nil? }).to be
|
815
|
+
expect(countries.all? { |country| country.un_locode.length == 2 }).to be
|
816
|
+
end
|
817
|
+
end
|
809
818
|
end
|
data/spec/global_spec.rb
CHANGED
@@ -22,7 +22,7 @@ describe 'global Country class', order: :defined do
|
|
22
22
|
|
23
23
|
describe 'to_s' do
|
24
24
|
it 'should return the country name' do
|
25
|
-
expect(Country.new('GB').to_s).to eq('United Kingdom')
|
25
|
+
expect(Country.new('GB').to_s).to eq('United Kingdom of Great Britain and Northern Ireland')
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
data/spec/perf_spec.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe ISO3166::Data, perf: true, order: :defined do
|
5
|
+
|
5
6
|
ALL_LOCALES = [
|
6
7
|
:af, :am, :ar, :as, :az, :be, :bg, :bn, :br, :bs, :ca, :cs, :cy, :da, :de,
|
7
8
|
:dz, :el, :en, :eo, :es, :et, :eu, :fa, :fi, :fo, :fr, :ga, :gl, :gu, :he,
|
@@ -12,7 +13,7 @@ describe ISO3166::Data, perf: true, order: :defined do
|
|
12
13
|
:zh, :zu
|
13
14
|
].freeze
|
14
15
|
|
15
|
-
|
16
|
+
def perf_report(name)
|
16
17
|
require 'benchmark'
|
17
18
|
require 'memory_profiler'
|
18
19
|
require 'ruby-prof'
|
@@ -20,9 +21,7 @@ describe ISO3166::Data, perf: true, order: :defined do
|
|
20
21
|
RubyProf.start
|
21
22
|
|
22
23
|
100.times do
|
23
|
-
|
24
|
-
data = ISO3166::Data.new('US').call
|
25
|
-
expect(data['translated_names']).to be_a Array
|
24
|
+
yield if block_given?
|
26
25
|
end
|
27
26
|
|
28
27
|
result = RubyProf.stop
|
@@ -32,6 +31,14 @@ describe ISO3166::Data, perf: true, order: :defined do
|
|
32
31
|
printer.print(STDOUT)
|
33
32
|
end
|
34
33
|
|
34
|
+
it 'responds to call' do
|
35
|
+
perf_report('translations') do
|
36
|
+
ISO3166.reset
|
37
|
+
data = ISO3166::Data.new('US').call
|
38
|
+
expect(data['translated_names']).to be_a Array
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
35
42
|
it 'locales will load prior to return results' do
|
36
43
|
ISO3166.configuration.locales = [:es, :de, :en]
|
37
44
|
report = MemoryProfiler.report do
|
@@ -52,4 +59,16 @@ describe ISO3166::Data, perf: true, order: :defined do
|
|
52
59
|
|
53
60
|
report.pretty_print(to_file: 'tmp/memory/all_locales')
|
54
61
|
end
|
62
|
+
|
63
|
+
it 'loades a specfic country quickly' do
|
64
|
+
codes = Dir['lib/countries/data/countries/*.yaml'].map { |x| File.basename(x, File.extname(x)) }.uniq
|
65
|
+
Benchmark.bmbm do |bm|
|
66
|
+
bm.report('find_by_alpha2') do
|
67
|
+
codes.map { |cc| ISO3166::Country.find_country_by_alpha2 cc }
|
68
|
+
end
|
69
|
+
bm.report('new') do
|
70
|
+
codes.map { |cc| ISO3166::Country.new cc }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
55
74
|
end
|
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.
|
4
|
+
version: 2.0.6
|
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:
|
13
|
+
date: 2017-01-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: i18n_data
|
@@ -54,6 +54,20 @@ dependencies:
|
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '1.4'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: sixarm_ruby_unaccent
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '1.1'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '1.1'
|
57
71
|
- !ruby/object:Gem::Dependency
|
58
72
|
name: rspec
|
59
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -690,7 +704,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
690
704
|
version: '0'
|
691
705
|
requirements: []
|
692
706
|
rubyforge_project:
|
693
|
-
rubygems_version: 2.5.
|
707
|
+
rubygems_version: 2.5.2
|
694
708
|
signing_key:
|
695
709
|
specification_version: 4
|
696
710
|
summary: Gives you a country object full of all sorts of useful information.
|