countries 2.1.4 → 3.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 +5 -5
- data/.travis.yml +3 -3
- data/CHANGELOG.md +43 -0
- data/Gemfile +1 -0
- data/README.markdown +25 -8
- data/countries.gemspec +0 -1
- data/lib/countries/cache/countries.json +1 -1
- data/lib/countries/cache/locales/sv.json +1 -1
- data/lib/countries/configuration.rb +5 -0
- data/lib/countries/country.rb +7 -23
- data/lib/countries/country/class_methods.rb +20 -0
- data/lib/countries/country/currency_methods.rb +10 -0
- data/lib/countries/data/countries/AE.yaml +5 -0
- data/lib/countries/data/countries/AU.yaml +5 -0
- data/lib/countries/data/countries/BR.yaml +7 -0
- data/lib/countries/data/countries/CZ.yaml +1 -1
- data/lib/countries/data/countries/GR.yaml +2 -2
- data/lib/countries/data/countries/HT.yaml +1 -1
- data/lib/countries/data/countries/IS.yaml +6 -0
- data/lib/countries/data/countries/LT.yaml +1 -0
- data/lib/countries/data/countries/NC.yaml +1 -1
- data/lib/countries/data/countries/NG.yaml +5 -0
- data/lib/countries/data/countries/NP.yaml +1 -1
- data/lib/countries/data/countries/NZ.yaml +6 -0
- data/lib/countries/data/countries/SG.yaml +1 -1
- data/lib/countries/data/countries/TH.yaml +5 -0
- data/lib/countries/data/countries/UA.yaml +6 -0
- data/lib/countries/data/countries/VE.yaml +1 -1
- data/lib/countries/data/subdivisions/AD.yaml +1 -1
- data/lib/countries/data/subdivisions/AI.yaml +183 -0
- data/lib/countries/data/subdivisions/AS.yaml +66 -0
- data/lib/countries/data/subdivisions/AX.yaml +40 -0
- data/lib/countries/data/subdivisions/BM.yaml +144 -0
- data/lib/countries/data/subdivisions/CK.yaml +144 -0
- data/lib/countries/data/subdivisions/CN.yaml +33 -0
- data/lib/countries/data/subdivisions/CU.yaml +0 -12
- data/lib/countries/data/subdivisions/EC.yaml +18 -24
- data/lib/countries/data/subdivisions/FO.yaml +79 -0
- data/lib/countries/data/subdivisions/GG.yaml +144 -0
- data/lib/countries/data/subdivisions/GU.yaml +248 -0
- data/lib/countries/data/subdivisions/HK.yaml +235 -0
- data/lib/countries/data/subdivisions/IM.yaml +313 -0
- data/lib/countries/data/subdivisions/JE.yaml +157 -0
- data/lib/countries/data/subdivisions/MP.yaml +53 -0
- data/lib/countries/data/subdivisions/MS.yaml +40 -0
- data/lib/countries/data/subdivisions/MX.yaml +0 -3
- data/lib/countries/data/subdivisions/NC.yaml +40 -0
- data/lib/countries/data/subdivisions/PA.yaml +50 -27
- data/lib/countries/data/subdivisions/PE.yaml +9 -12
- data/lib/countries/data/subdivisions/PF.yaml +66 -0
- data/lib/countries/data/subdivisions/PM.yaml +27 -0
- data/lib/countries/data/subdivisions/PR.yaml +1015 -0
- data/lib/countries/data/subdivisions/SD.yaml +40 -45
- data/lib/countries/data/subdivisions/SJ.yaml +27 -0
- data/lib/countries/data/subdivisions/TK.yaml +40 -0
- data/lib/countries/data/subdivisions/UY.yaml +1 -1
- data/lib/countries/data/subdivisions/VI.yaml +40 -0
- data/lib/countries/data/subdivisions/YT.yaml +222 -0
- data/lib/countries/data/translation_corrections.yaml +1 -1
- data/lib/countries/iso3166.rb +1 -1
- data/lib/countries/version.rb +1 -1
- data/spec/00_global_spec.rb +56 -0
- data/spec/configuration_spec.rb +1 -0
- data/spec/country_spec.rb +1 -0
- data/spec/perf_spec.rb +1 -1
- metadata +27 -19
- data/spec/global_spec.rb +0 -29
data/lib/countries/iso3166.rb
CHANGED
data/lib/countries/version.rb
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
describe 'global Country class', order: :defined do
|
|
2
|
+
context "when loaded via 'iso3166' existence" do
|
|
3
|
+
subject { defined?(Country) }
|
|
4
|
+
|
|
5
|
+
it { is_expected.to be_falsey }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
context "when loaded via 'global'" do
|
|
9
|
+
before { require 'countries/global' }
|
|
10
|
+
|
|
11
|
+
it 'does not pollute global namespace with Money gem' do
|
|
12
|
+
expect(defined?(Money)).not_to be
|
|
13
|
+
expect(ISO3166::Country.new('DE').respond_to?(:currency)).not_to be
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
describe 'existence' do
|
|
17
|
+
subject { defined?(Country) }
|
|
18
|
+
|
|
19
|
+
it { is_expected.to be_truthy }
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe 'superclass' do
|
|
23
|
+
subject { Country.superclass }
|
|
24
|
+
|
|
25
|
+
it { is_expected.to eq(ISO3166::Country) }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe 'to_s' do
|
|
29
|
+
it 'should return the country name' do
|
|
30
|
+
expect(Country.new('GB').to_s).to eq('United Kingdom of Great Britain and Northern Ireland')
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'currency' do
|
|
35
|
+
it { expect(Country.new('GB').respond_to?(:currency)).not_to be }
|
|
36
|
+
|
|
37
|
+
context 'I enable currency extension via config' do
|
|
38
|
+
before { ISO3166.configuration.enable_currency_extension! }
|
|
39
|
+
|
|
40
|
+
it 'should add currency to global country' do
|
|
41
|
+
expect(Country.new('GB').currency).to be
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
context 'I enable currency extension via config' do
|
|
47
|
+
before { ISO3166.configuration.enable_currency_extension! }
|
|
48
|
+
|
|
49
|
+
it 'should add currency to global country' do
|
|
50
|
+
expect(Country.new('GB').currency).to be
|
|
51
|
+
expect(defined?(Money)).to be
|
|
52
|
+
expect(ISO3166::Country.new('DE').currency).to be
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
data/spec/configuration_spec.rb
CHANGED
data/spec/country_spec.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
NUM_OF_COUNTRIES = 249
|
|
5
5
|
describe ISO3166::Country do
|
|
6
|
+
before { ISO3166.configuration.enable_currency_extension! }
|
|
6
7
|
let(:country) { ISO3166::Country.search('US') }
|
|
7
8
|
|
|
8
9
|
it 'allows to create a country object from a symbol representation of the alpha2 code' do
|
data/spec/perf_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:
|
|
4
|
+
version: 3.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: 2018-
|
|
13
|
+
date: 2018-12-18 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: i18n_data
|
|
@@ -26,20 +26,6 @@ dependencies:
|
|
|
26
26
|
- - "~>"
|
|
27
27
|
- !ruby/object:Gem::Version
|
|
28
28
|
version: 0.8.0
|
|
29
|
-
- !ruby/object:Gem::Dependency
|
|
30
|
-
name: money
|
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
|
32
|
-
requirements:
|
|
33
|
-
- - "~>"
|
|
34
|
-
- !ruby/object:Gem::Version
|
|
35
|
-
version: '6.9'
|
|
36
|
-
type: :runtime
|
|
37
|
-
prerelease: false
|
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
39
|
-
requirements:
|
|
40
|
-
- - "~>"
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
version: '6.9'
|
|
43
29
|
- !ruby/object:Gem::Dependency
|
|
44
30
|
name: unicode_utils
|
|
45
31
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -229,6 +215,7 @@ files:
|
|
|
229
215
|
- lib/countries/configuration.rb
|
|
230
216
|
- lib/countries/country.rb
|
|
231
217
|
- lib/countries/country/class_methods.rb
|
|
218
|
+
- lib/countries/country/currency_methods.rb
|
|
232
219
|
- lib/countries/country/emoji.rb
|
|
233
220
|
- lib/countries/data.rb
|
|
234
221
|
- lib/countries/data/countries/AD.yaml
|
|
@@ -484,12 +471,15 @@ files:
|
|
|
484
471
|
- lib/countries/data/subdivisions/AE.yaml
|
|
485
472
|
- lib/countries/data/subdivisions/AF.yaml
|
|
486
473
|
- lib/countries/data/subdivisions/AG.yaml
|
|
474
|
+
- lib/countries/data/subdivisions/AI.yaml
|
|
487
475
|
- lib/countries/data/subdivisions/AL.yaml
|
|
488
476
|
- lib/countries/data/subdivisions/AM.yaml
|
|
489
477
|
- lib/countries/data/subdivisions/AO.yaml
|
|
490
478
|
- lib/countries/data/subdivisions/AR.yaml
|
|
479
|
+
- lib/countries/data/subdivisions/AS.yaml
|
|
491
480
|
- lib/countries/data/subdivisions/AT.yaml
|
|
492
481
|
- lib/countries/data/subdivisions/AU.yaml
|
|
482
|
+
- lib/countries/data/subdivisions/AX.yaml
|
|
493
483
|
- lib/countries/data/subdivisions/AZ.yaml
|
|
494
484
|
- lib/countries/data/subdivisions/BA.yaml
|
|
495
485
|
- lib/countries/data/subdivisions/BB.yaml
|
|
@@ -500,6 +490,7 @@ files:
|
|
|
500
490
|
- lib/countries/data/subdivisions/BH.yaml
|
|
501
491
|
- lib/countries/data/subdivisions/BI.yaml
|
|
502
492
|
- lib/countries/data/subdivisions/BJ.yaml
|
|
493
|
+
- lib/countries/data/subdivisions/BM.yaml
|
|
503
494
|
- lib/countries/data/subdivisions/BN.yaml
|
|
504
495
|
- lib/countries/data/subdivisions/BO.yaml
|
|
505
496
|
- lib/countries/data/subdivisions/BQ.yaml
|
|
@@ -515,6 +506,7 @@ files:
|
|
|
515
506
|
- lib/countries/data/subdivisions/CG.yaml
|
|
516
507
|
- lib/countries/data/subdivisions/CH.yaml
|
|
517
508
|
- lib/countries/data/subdivisions/CI.yaml
|
|
509
|
+
- lib/countries/data/subdivisions/CK.yaml
|
|
518
510
|
- lib/countries/data/subdivisions/CL.yaml
|
|
519
511
|
- lib/countries/data/subdivisions/CM.yaml
|
|
520
512
|
- lib/countries/data/subdivisions/CN.yaml
|
|
@@ -540,11 +532,13 @@ files:
|
|
|
540
532
|
- lib/countries/data/subdivisions/FI.yaml
|
|
541
533
|
- lib/countries/data/subdivisions/FJ.yaml
|
|
542
534
|
- lib/countries/data/subdivisions/FM.yaml
|
|
535
|
+
- lib/countries/data/subdivisions/FO.yaml
|
|
543
536
|
- lib/countries/data/subdivisions/FR.yaml
|
|
544
537
|
- lib/countries/data/subdivisions/GA.yaml
|
|
545
538
|
- lib/countries/data/subdivisions/GB.yaml
|
|
546
539
|
- lib/countries/data/subdivisions/GD.yaml
|
|
547
540
|
- lib/countries/data/subdivisions/GE.yaml
|
|
541
|
+
- lib/countries/data/subdivisions/GG.yaml
|
|
548
542
|
- lib/countries/data/subdivisions/GH.yaml
|
|
549
543
|
- lib/countries/data/subdivisions/GL.yaml
|
|
550
544
|
- lib/countries/data/subdivisions/GM.yaml
|
|
@@ -552,8 +546,10 @@ files:
|
|
|
552
546
|
- lib/countries/data/subdivisions/GQ.yaml
|
|
553
547
|
- lib/countries/data/subdivisions/GR.yaml
|
|
554
548
|
- lib/countries/data/subdivisions/GT.yaml
|
|
549
|
+
- lib/countries/data/subdivisions/GU.yaml
|
|
555
550
|
- lib/countries/data/subdivisions/GW.yaml
|
|
556
551
|
- lib/countries/data/subdivisions/GY.yaml
|
|
552
|
+
- lib/countries/data/subdivisions/HK.yaml
|
|
557
553
|
- lib/countries/data/subdivisions/HN.yaml
|
|
558
554
|
- lib/countries/data/subdivisions/HR.yaml
|
|
559
555
|
- lib/countries/data/subdivisions/HT.yaml
|
|
@@ -561,11 +557,13 @@ files:
|
|
|
561
557
|
- lib/countries/data/subdivisions/ID.yaml
|
|
562
558
|
- lib/countries/data/subdivisions/IE.yaml
|
|
563
559
|
- lib/countries/data/subdivisions/IL.yaml
|
|
560
|
+
- lib/countries/data/subdivisions/IM.yaml
|
|
564
561
|
- lib/countries/data/subdivisions/IN.yaml
|
|
565
562
|
- lib/countries/data/subdivisions/IQ.yaml
|
|
566
563
|
- lib/countries/data/subdivisions/IR.yaml
|
|
567
564
|
- lib/countries/data/subdivisions/IS.yaml
|
|
568
565
|
- lib/countries/data/subdivisions/IT.yaml
|
|
566
|
+
- lib/countries/data/subdivisions/JE.yaml
|
|
569
567
|
- lib/countries/data/subdivisions/JM.yaml
|
|
570
568
|
- lib/countries/data/subdivisions/JO.yaml
|
|
571
569
|
- lib/countries/data/subdivisions/JP.yaml
|
|
@@ -601,7 +599,9 @@ files:
|
|
|
601
599
|
- lib/countries/data/subdivisions/ML.yaml
|
|
602
600
|
- lib/countries/data/subdivisions/MM.yaml
|
|
603
601
|
- lib/countries/data/subdivisions/MN.yaml
|
|
602
|
+
- lib/countries/data/subdivisions/MP.yaml
|
|
604
603
|
- lib/countries/data/subdivisions/MR.yaml
|
|
604
|
+
- lib/countries/data/subdivisions/MS.yaml
|
|
605
605
|
- lib/countries/data/subdivisions/MT.yaml
|
|
606
606
|
- lib/countries/data/subdivisions/MU.yaml
|
|
607
607
|
- lib/countries/data/subdivisions/MV.yaml
|
|
@@ -610,6 +610,7 @@ files:
|
|
|
610
610
|
- lib/countries/data/subdivisions/MY.yaml
|
|
611
611
|
- lib/countries/data/subdivisions/MZ.yaml
|
|
612
612
|
- lib/countries/data/subdivisions/NA.yaml
|
|
613
|
+
- lib/countries/data/subdivisions/NC.yaml
|
|
613
614
|
- lib/countries/data/subdivisions/NE.yaml
|
|
614
615
|
- lib/countries/data/subdivisions/NG.yaml
|
|
615
616
|
- lib/countries/data/subdivisions/NI.yaml
|
|
@@ -621,10 +622,13 @@ files:
|
|
|
621
622
|
- lib/countries/data/subdivisions/OM.yaml
|
|
622
623
|
- lib/countries/data/subdivisions/PA.yaml
|
|
623
624
|
- lib/countries/data/subdivisions/PE.yaml
|
|
625
|
+
- lib/countries/data/subdivisions/PF.yaml
|
|
624
626
|
- lib/countries/data/subdivisions/PG.yaml
|
|
625
627
|
- lib/countries/data/subdivisions/PH.yaml
|
|
626
628
|
- lib/countries/data/subdivisions/PK.yaml
|
|
627
629
|
- lib/countries/data/subdivisions/PL.yaml
|
|
630
|
+
- lib/countries/data/subdivisions/PM.yaml
|
|
631
|
+
- lib/countries/data/subdivisions/PR.yaml
|
|
628
632
|
- lib/countries/data/subdivisions/PS.yaml
|
|
629
633
|
- lib/countries/data/subdivisions/PT.yaml
|
|
630
634
|
- lib/countries/data/subdivisions/PW.yaml
|
|
@@ -642,6 +646,7 @@ files:
|
|
|
642
646
|
- lib/countries/data/subdivisions/SG.yaml
|
|
643
647
|
- lib/countries/data/subdivisions/SH.yaml
|
|
644
648
|
- lib/countries/data/subdivisions/SI.yaml
|
|
649
|
+
- lib/countries/data/subdivisions/SJ.yaml
|
|
645
650
|
- lib/countries/data/subdivisions/SK.yaml
|
|
646
651
|
- lib/countries/data/subdivisions/SL.yaml
|
|
647
652
|
- lib/countries/data/subdivisions/SM.yaml
|
|
@@ -658,6 +663,7 @@ files:
|
|
|
658
663
|
- lib/countries/data/subdivisions/TG.yaml
|
|
659
664
|
- lib/countries/data/subdivisions/TH.yaml
|
|
660
665
|
- lib/countries/data/subdivisions/TJ.yaml
|
|
666
|
+
- lib/countries/data/subdivisions/TK.yaml
|
|
661
667
|
- lib/countries/data/subdivisions/TL.yaml
|
|
662
668
|
- lib/countries/data/subdivisions/TM.yaml
|
|
663
669
|
- lib/countries/data/subdivisions/TN.yaml
|
|
@@ -675,11 +681,13 @@ files:
|
|
|
675
681
|
- lib/countries/data/subdivisions/UZ.yaml
|
|
676
682
|
- lib/countries/data/subdivisions/VC.yaml
|
|
677
683
|
- lib/countries/data/subdivisions/VE.yaml
|
|
684
|
+
- lib/countries/data/subdivisions/VI.yaml
|
|
678
685
|
- lib/countries/data/subdivisions/VN.yaml
|
|
679
686
|
- lib/countries/data/subdivisions/VU.yaml
|
|
680
687
|
- lib/countries/data/subdivisions/WF.yaml
|
|
681
688
|
- lib/countries/data/subdivisions/WS.yaml
|
|
682
689
|
- lib/countries/data/subdivisions/YE.yaml
|
|
690
|
+
- lib/countries/data/subdivisions/YT.yaml
|
|
683
691
|
- lib/countries/data/subdivisions/ZA.yaml
|
|
684
692
|
- lib/countries/data/subdivisions/ZM.yaml
|
|
685
693
|
- lib/countries/data/subdivisions/ZW.yaml
|
|
@@ -701,10 +709,10 @@ files:
|
|
|
701
709
|
- lib/countries/timezones.rb
|
|
702
710
|
- lib/countries/translations.rb
|
|
703
711
|
- lib/countries/version.rb
|
|
712
|
+
- spec/00_global_spec.rb
|
|
704
713
|
- spec/configuration_spec.rb
|
|
705
714
|
- spec/country_spec.rb
|
|
706
715
|
- spec/data_spec.rb
|
|
707
|
-
- spec/global_spec.rb
|
|
708
716
|
- spec/mongoid_spec.rb
|
|
709
717
|
- spec/perf_spec.rb
|
|
710
718
|
- spec/spec_helper.rb
|
|
@@ -730,15 +738,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
730
738
|
version: '0'
|
|
731
739
|
requirements: []
|
|
732
740
|
rubyforge_project:
|
|
733
|
-
rubygems_version: 2.
|
|
741
|
+
rubygems_version: 2.7.3
|
|
734
742
|
signing_key:
|
|
735
743
|
specification_version: 4
|
|
736
744
|
summary: Gives you a country object full of all sorts of useful information.
|
|
737
745
|
test_files:
|
|
746
|
+
- spec/00_global_spec.rb
|
|
738
747
|
- spec/configuration_spec.rb
|
|
739
748
|
- spec/country_spec.rb
|
|
740
749
|
- spec/data_spec.rb
|
|
741
|
-
- spec/global_spec.rb
|
|
742
750
|
- spec/mongoid_spec.rb
|
|
743
751
|
- spec/perf_spec.rb
|
|
744
752
|
- spec/spec_helper.rb
|
data/spec/global_spec.rb
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
describe 'global Country class', order: :defined do
|
|
2
|
-
context "when loaded via 'iso3166' existence" do
|
|
3
|
-
subject { defined?(Country) }
|
|
4
|
-
|
|
5
|
-
it { is_expected.to be_falsey }
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
context "when loaded via 'global'" do
|
|
9
|
-
before { require 'countries/global' }
|
|
10
|
-
|
|
11
|
-
describe 'existence' do
|
|
12
|
-
subject { defined?(Country) }
|
|
13
|
-
|
|
14
|
-
it { is_expected.to be_truthy }
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe 'superclass' do
|
|
18
|
-
subject { Country.superclass }
|
|
19
|
-
|
|
20
|
-
it { is_expected.to eq(ISO3166::Country) }
|
|
21
|
-
end
|
|
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 of Great Britain and Northern Ireland')
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|