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.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +3 -3
  3. data/CHANGELOG.md +43 -0
  4. data/Gemfile +1 -0
  5. data/README.markdown +25 -8
  6. data/countries.gemspec +0 -1
  7. data/lib/countries/cache/countries.json +1 -1
  8. data/lib/countries/cache/locales/sv.json +1 -1
  9. data/lib/countries/configuration.rb +5 -0
  10. data/lib/countries/country.rb +7 -23
  11. data/lib/countries/country/class_methods.rb +20 -0
  12. data/lib/countries/country/currency_methods.rb +10 -0
  13. data/lib/countries/data/countries/AE.yaml +5 -0
  14. data/lib/countries/data/countries/AU.yaml +5 -0
  15. data/lib/countries/data/countries/BR.yaml +7 -0
  16. data/lib/countries/data/countries/CZ.yaml +1 -1
  17. data/lib/countries/data/countries/GR.yaml +2 -2
  18. data/lib/countries/data/countries/HT.yaml +1 -1
  19. data/lib/countries/data/countries/IS.yaml +6 -0
  20. data/lib/countries/data/countries/LT.yaml +1 -0
  21. data/lib/countries/data/countries/NC.yaml +1 -1
  22. data/lib/countries/data/countries/NG.yaml +5 -0
  23. data/lib/countries/data/countries/NP.yaml +1 -1
  24. data/lib/countries/data/countries/NZ.yaml +6 -0
  25. data/lib/countries/data/countries/SG.yaml +1 -1
  26. data/lib/countries/data/countries/TH.yaml +5 -0
  27. data/lib/countries/data/countries/UA.yaml +6 -0
  28. data/lib/countries/data/countries/VE.yaml +1 -1
  29. data/lib/countries/data/subdivisions/AD.yaml +1 -1
  30. data/lib/countries/data/subdivisions/AI.yaml +183 -0
  31. data/lib/countries/data/subdivisions/AS.yaml +66 -0
  32. data/lib/countries/data/subdivisions/AX.yaml +40 -0
  33. data/lib/countries/data/subdivisions/BM.yaml +144 -0
  34. data/lib/countries/data/subdivisions/CK.yaml +144 -0
  35. data/lib/countries/data/subdivisions/CN.yaml +33 -0
  36. data/lib/countries/data/subdivisions/CU.yaml +0 -12
  37. data/lib/countries/data/subdivisions/EC.yaml +18 -24
  38. data/lib/countries/data/subdivisions/FO.yaml +79 -0
  39. data/lib/countries/data/subdivisions/GG.yaml +144 -0
  40. data/lib/countries/data/subdivisions/GU.yaml +248 -0
  41. data/lib/countries/data/subdivisions/HK.yaml +235 -0
  42. data/lib/countries/data/subdivisions/IM.yaml +313 -0
  43. data/lib/countries/data/subdivisions/JE.yaml +157 -0
  44. data/lib/countries/data/subdivisions/MP.yaml +53 -0
  45. data/lib/countries/data/subdivisions/MS.yaml +40 -0
  46. data/lib/countries/data/subdivisions/MX.yaml +0 -3
  47. data/lib/countries/data/subdivisions/NC.yaml +40 -0
  48. data/lib/countries/data/subdivisions/PA.yaml +50 -27
  49. data/lib/countries/data/subdivisions/PE.yaml +9 -12
  50. data/lib/countries/data/subdivisions/PF.yaml +66 -0
  51. data/lib/countries/data/subdivisions/PM.yaml +27 -0
  52. data/lib/countries/data/subdivisions/PR.yaml +1015 -0
  53. data/lib/countries/data/subdivisions/SD.yaml +40 -45
  54. data/lib/countries/data/subdivisions/SJ.yaml +27 -0
  55. data/lib/countries/data/subdivisions/TK.yaml +40 -0
  56. data/lib/countries/data/subdivisions/UY.yaml +1 -1
  57. data/lib/countries/data/subdivisions/VI.yaml +40 -0
  58. data/lib/countries/data/subdivisions/YT.yaml +222 -0
  59. data/lib/countries/data/translation_corrections.yaml +1 -1
  60. data/lib/countries/iso3166.rb +1 -1
  61. data/lib/countries/version.rb +1 -1
  62. data/spec/00_global_spec.rb +56 -0
  63. data/spec/configuration_spec.rb +1 -0
  64. data/spec/country_spec.rb +1 -0
  65. data/spec/perf_spec.rb +1 -1
  66. metadata +27 -19
  67. data/spec/global_spec.rb +0 -29
@@ -28,5 +28,5 @@ fa:
28
28
  he:
29
29
  PS: "פלסטין, מדינת"
30
30
  VI: "איי הבתולה (ארה)"
31
- se:
31
+ sv:
32
32
  GB: "Storbritannien"
@@ -1,6 +1,6 @@
1
1
  require 'yaml'
2
+ require 'json'
2
3
  require 'i18n_data'
3
- require 'money'
4
4
 
5
5
  require 'countries/kwarg_struct'
6
6
  require 'countries/configuration'
@@ -1,3 +1,3 @@
1
1
  module Countries
2
- VERSION = '2.1.4'.freeze
2
+ VERSION = '3.0.0'.freeze
3
3
  end
@@ -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
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'spec_helper'
3
+ require 'i18n'
3
4
 
4
5
  describe 'ISO3166.configuration' do
5
6
  it 'has a configuration' do
@@ -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
@@ -13,7 +13,7 @@ describe ISO3166::Data, perf: true, order: :defined do
13
13
  :zh, :zu
14
14
  ].freeze
15
15
 
16
- def perf_report(name)
16
+ def perf_report(_name)
17
17
  require 'benchmark'
18
18
  require 'memory_profiler'
19
19
  require 'ruby-prof'
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.1.4
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-02-09 00:00:00.000000000 Z
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.6.13
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
@@ -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