countries 2.1.4 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|