countries 4.2.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codeql-analysis.yml +70 -0
  3. data/.github/workflows/tests.yml +1 -5
  4. data/.rubocop.yml +40 -1
  5. data/.rubocop_todo.yml +8 -41
  6. data/CHANGELOG.md +33 -5
  7. data/Gemfile +5 -3
  8. data/LICENSE +3 -1
  9. data/README.markdown +34 -18
  10. data/Rakefile +15 -31
  11. data/bin/console +1 -0
  12. data/countries.gemspec +12 -10
  13. data/lib/countries/cache/countries.json +1 -1
  14. data/lib/countries/cache/locales/oc.json +1 -1
  15. data/lib/countries/cache/locales/ti.json +1 -1
  16. data/lib/countries/cache/locales/zu.json +1 -1
  17. data/lib/countries/configuration.rb +2 -0
  18. data/lib/countries/country/class_methods.rb +12 -97
  19. data/lib/countries/country/currency_methods.rb +2 -0
  20. data/lib/countries/country/emoji.rb +2 -3
  21. data/lib/countries/country/finder_methods.rb +81 -0
  22. data/lib/countries/country.rb +3 -40
  23. data/lib/countries/data/countries/AE.yaml +1 -1
  24. data/lib/countries/data/countries/KN.yaml +0 -1
  25. data/lib/countries/data/subdivisions/AD.yaml +21 -21
  26. data/lib/countries/data/subdivisions/AF.yaml +2 -2
  27. data/lib/countries/data/subdivisions/AG.yaml +1 -1
  28. data/lib/countries/data/subdivisions/AI.yaml +98 -98
  29. data/lib/countries/data/subdivisions/AL.yaml +82 -626
  30. data/lib/countries/data/subdivisions/AZ.yaml +5 -5
  31. data/lib/countries/data/subdivisions/BA.yaml +11 -11
  32. data/lib/countries/data/subdivisions/BD.yaml +8 -8
  33. data/lib/countries/data/subdivisions/BE.yaml +2 -2
  34. data/lib/countries/data/subdivisions/BF.yaml +13 -13
  35. data/lib/countries/data/subdivisions/BI.yaml +3 -3
  36. data/lib/countries/data/subdivisions/BM.yaml +77 -77
  37. data/lib/countries/data/subdivisions/BS.yaml +22 -22
  38. data/lib/countries/data/subdivisions/BW.yaml +7 -7
  39. data/lib/countries/data/subdivisions/BY.yaml +1 -1
  40. data/lib/countries/data/subdivisions/CD.yaml +19 -19
  41. data/lib/countries/data/subdivisions/CG.yaml +1 -1
  42. data/lib/countries/data/subdivisions/CI.yaml +14 -14
  43. data/lib/countries/data/subdivisions/CK.yaml +77 -77
  44. data/lib/countries/data/subdivisions/CN.yaml +0 -107
  45. data/lib/countries/data/subdivisions/CV.yaml +9 -9
  46. data/lib/countries/data/subdivisions/DK.yaml +1 -0
  47. data/lib/countries/data/subdivisions/DO.yaml +11 -11
  48. data/lib/countries/data/subdivisions/EE.yaml +78 -2
  49. data/lib/countries/data/subdivisions/EH.yaml +12 -12
  50. data/lib/countries/data/subdivisions/ES.yaml +17 -17
  51. data/lib/countries/data/subdivisions/FI.yaml +16 -16
  52. data/lib/countries/data/subdivisions/FJ.yaml +14 -14
  53. data/lib/countries/data/subdivisions/GB.yaml +21 -20
  54. data/lib/countries/data/subdivisions/GH.yaml +7 -7
  55. data/lib/countries/data/subdivisions/GL.yaml +6 -6
  56. data/lib/countries/data/subdivisions/GN.yaml +7 -7
  57. data/lib/countries/data/subdivisions/GQ.yaml +1 -0
  58. data/lib/countries/data/subdivisions/GR.yaml +1 -1
  59. data/lib/countries/data/subdivisions/GW.yaml +3 -3
  60. data/lib/countries/data/subdivisions/HT.yaml +1 -1
  61. data/lib/countries/data/subdivisions/ID.yaml +41 -41
  62. data/lib/countries/data/subdivisions/IE.yaml +1 -2
  63. data/lib/countries/data/subdivisions/IN.yaml +4 -3
  64. data/lib/countries/data/subdivisions/IQ.yaml +1 -1
  65. data/lib/countries/data/subdivisions/IR.yaml +2 -1
  66. data/lib/countries/data/subdivisions/IS.yaml +72 -0
  67. data/lib/countries/data/subdivisions/IT.yaml +7 -8
  68. data/lib/countries/data/subdivisions/KG.yaml +1 -1
  69. data/lib/countries/data/subdivisions/KH.yaml +1 -1
  70. data/lib/countries/data/subdivisions/KN.yaml +2 -2
  71. data/lib/countries/data/subdivisions/KP.yaml +12 -12
  72. data/lib/countries/data/subdivisions/KR.yaml +1 -1
  73. data/lib/countries/data/subdivisions/KZ.yaml +1 -1
  74. data/lib/countries/data/subdivisions/LA.yaml +1 -1
  75. data/lib/countries/data/subdivisions/LB.yaml +2 -2
  76. data/lib/countries/data/subdivisions/LC.yaml +10 -10
  77. data/lib/countries/data/subdivisions/LK.yaml +9 -9
  78. data/lib/countries/data/subdivisions/LR.yaml +2 -2
  79. data/lib/countries/data/subdivisions/LT.yaml +60 -60
  80. data/lib/countries/data/subdivisions/LU.yaml +1 -1
  81. data/lib/countries/data/subdivisions/LV.yaml +1 -1
  82. data/lib/countries/data/subdivisions/MA.yaml +35 -35
  83. data/lib/countries/data/subdivisions/MC.yaml +17 -17
  84. data/lib/countries/data/subdivisions/MD.yaml +740 -740
  85. data/lib/countries/data/subdivisions/ME.yaml +3 -3
  86. data/lib/countries/data/subdivisions/MH.yaml +2 -2
  87. data/lib/countries/data/subdivisions/ML.yaml +2 -2
  88. data/lib/countries/data/subdivisions/MM.yaml +1 -1
  89. data/lib/countries/data/subdivisions/MR.yaml +3 -3
  90. data/lib/countries/data/subdivisions/MV.yaml +8 -8
  91. data/lib/countries/data/subdivisions/MW.yaml +4 -4
  92. data/lib/countries/data/subdivisions/MX.yaml +1 -1
  93. data/lib/countries/data/subdivisions/NL.yaml +6 -6
  94. data/lib/countries/data/subdivisions/NO.yaml +1 -0
  95. data/lib/countries/data/subdivisions/NP.yaml +12 -12
  96. data/lib/countries/data/subdivisions/NZ.yaml +1 -1
  97. data/lib/countries/data/subdivisions/OM.yaml +6 -6
  98. data/lib/countries/data/subdivisions/PG.yaml +3 -3
  99. data/lib/countries/data/subdivisions/PH.yaml +16 -16
  100. data/lib/countries/data/subdivisions/PK.yaml +2 -2
  101. data/lib/countries/data/subdivisions/PS.yaml +16 -16
  102. data/lib/countries/data/subdivisions/QA.yaml +2 -2
  103. data/lib/countries/data/subdivisions/RS.yaml +2 -2
  104. data/lib/countries/data/subdivisions/SC.yaml +4 -2
  105. data/lib/countries/data/subdivisions/SH.yaml +1 -1
  106. data/lib/countries/data/subdivisions/SI.yaml +19 -19
  107. data/lib/countries/data/subdivisions/SJ.yaml +14 -14
  108. data/lib/countries/data/subdivisions/SL.yaml +1 -1
  109. data/lib/countries/data/subdivisions/SN.yaml +3 -3
  110. data/lib/countries/data/subdivisions/SS.yaml +10 -10
  111. data/lib/countries/data/subdivisions/ST.yaml +6 -0
  112. data/lib/countries/data/subdivisions/TD.yaml +6 -6
  113. data/lib/countries/data/subdivisions/TH.yaml +1 -1
  114. data/lib/countries/data/subdivisions/TJ.yaml +2 -2
  115. data/lib/countries/data/subdivisions/TK.yaml +21 -21
  116. data/lib/countries/data/subdivisions/TM.yaml +1 -1
  117. data/lib/countries/data/subdivisions/TT.yaml +2 -2
  118. data/lib/countries/data/subdivisions/TV.yaml +1 -1
  119. data/lib/countries/data/subdivisions/TW.yaml +3 -17
  120. data/lib/countries/data/subdivisions/TZ.yaml +5 -5
  121. data/lib/countries/data/subdivisions/UG.yaml +59 -52
  122. data/lib/countries/data/subdivisions/UM.yaml +0 -10
  123. data/lib/countries/data/subdivisions/WF.yaml +3 -13
  124. data/lib/countries/data/subdivisions/YE.yaml +3 -3
  125. data/lib/countries/data/subdivisions/ZA.yaml +2 -2
  126. data/lib/countries/data/subdivisions/ZM.yaml +1 -1
  127. data/lib/countries/data.rb +34 -37
  128. data/lib/countries/global.rb +2 -0
  129. data/lib/countries/iso3166.rb +3 -0
  130. data/lib/countries/kwarg_struct.rb +2 -0
  131. data/lib/countries/mongoid.rb +2 -0
  132. data/lib/countries/sources/cldr/downloader.rb +8 -8
  133. data/lib/countries/sources/cldr/subdivision.rb +3 -0
  134. data/lib/countries/sources/cldr/subdivision_updater.rb +23 -17
  135. data/lib/countries/sources/local/cached_loader.rb +3 -0
  136. data/lib/countries/sources/local/subdivision.rb +5 -2
  137. data/lib/countries/sources.rb +2 -0
  138. data/lib/countries/structure.rb +1 -1
  139. data/lib/countries/subdivision.rb +2 -0
  140. data/lib/countries/tasks/geocoding.rake +15 -6
  141. data/lib/countries/tasks/postal_codes.rake +5 -3
  142. data/lib/countries/timezones.rb +5 -2
  143. data/lib/countries/translations.rb +2 -0
  144. data/lib/countries/version.rb +3 -1
  145. data/lib/countries.rb +2 -0
  146. data/spec/00_global_spec.rb +2 -0
  147. data/spec/configuration_spec.rb +11 -5
  148. data/spec/country_spec.rb +71 -22
  149. data/spec/data_spec.rb +24 -18
  150. data/spec/mongoid_spec.rb +2 -2
  151. data/spec/perf_spec.rb +16 -16
  152. data/spec/spec_helper.rb +2 -0
  153. data/spec/subdivision_spec.rb +6 -4
  154. data/spec/thread_safety_spec.rb +4 -3
  155. data/spec/timezone_spec.rb +2 -0
  156. metadata +18 -45
  157. data/lib/countries/data/subdivisions/AS.yaml +0 -85
  158. data/lib/countries/data/subdivisions/AW.yaml +0 -9
  159. data/lib/countries/data/subdivisions/AX.yaml +0 -51
  160. data/lib/countries/data/subdivisions/BL.yaml +0 -11
  161. data/lib/countries/data/subdivisions/CP.yaml +0 -4
  162. data/lib/countries/data/subdivisions/CW.yaml +0 -9
  163. data/lib/countries/data/subdivisions/GF.yaml +0 -11
  164. data/lib/countries/data/subdivisions/GG.yaml +0 -155
  165. data/lib/countries/data/subdivisions/GP.yaml +0 -11
  166. data/lib/countries/data/subdivisions/GU.yaml +0 -275
  167. data/lib/countries/data/subdivisions/HK.yaml +0 -267
  168. data/lib/countries/data/subdivisions/IC.yaml +0 -4
  169. data/lib/countries/data/subdivisions/IM.yaml +0 -337
  170. data/lib/countries/data/subdivisions/JE.yaml +0 -169
  171. data/lib/countries/data/subdivisions/MF.yaml +0 -9
  172. data/lib/countries/data/subdivisions/MO.yaml +0 -9
  173. data/lib/countries/data/subdivisions/MP.yaml +0 -71
  174. data/lib/countries/data/subdivisions/MQ.yaml +0 -11
  175. data/lib/countries/data/subdivisions/MS.yaml +0 -43
  176. data/lib/countries/data/subdivisions/NC.yaml +0 -57
  177. data/lib/countries/data/subdivisions/PF.yaml +0 -81
  178. data/lib/countries/data/subdivisions/PM.yaml +0 -39
  179. data/lib/countries/data/subdivisions/PR.yaml +0 -1107
  180. data/lib/countries/data/subdivisions/RE.yaml +0 -11
  181. data/lib/countries/data/subdivisions/SX.yaml +0 -9
  182. data/lib/countries/data/subdivisions/TA.yaml +0 -4
  183. data/lib/countries/data/subdivisions/TF.yaml +0 -67
  184. data/lib/countries/data/subdivisions/VI.yaml +0 -57
  185. data/lib/countries/data/subdivisions/YT.yaml +0 -247
  186. data/lib/countries/setup.rb +0 -18
@@ -1,197 +1,197 @@
1
1
  ---
2
- BP:
2
+ BP:
3
3
  name: Blowing Point
4
- code:
4
+ code:
5
5
  unofficial_names: Blowing Point
6
6
  geo:
7
7
  latitude: 18.177
8
8
  longitude: -63.09161
9
- min_latitude:
10
- min_longitude:
11
- max_latitude:
12
- max_longitude:
9
+ min_latitude:
10
+ min_longitude:
11
+ max_latitude:
12
+ max_longitude:
13
13
  translations:
14
14
  en: Blowing Point
15
- comments:
16
- EE:
15
+ comments:
16
+ EE:
17
17
  name: East End
18
- code:
18
+ code:
19
19
  unofficial_names: East End
20
20
  geo:
21
21
  latitude: 18.234
22
22
  longitude: -62.99728
23
- min_latitude:
24
- min_longitude:
25
- max_latitude:
26
- max_longitude:
23
+ min_latitude:
24
+ min_longitude:
25
+ max_latitude:
26
+ max_longitude:
27
27
  translations:
28
28
  en: East End
29
- comments:
30
- GH:
29
+ comments:
30
+ GH:
31
31
  name: George Hill
32
- code:
32
+ code:
33
33
  unofficial_names: George Hill
34
34
  geo:
35
35
  latitude: 18.19943
36
36
  longitude: -63.06517
37
- min_latitude:
38
- min_longitude:
39
- max_latitude:
40
- max_longitude:
37
+ min_latitude:
38
+ min_longitude:
39
+ max_latitude:
40
+ max_longitude:
41
41
  translations:
42
42
  en: George Hill
43
- comments:
44
- IH:
43
+ comments:
44
+ IH:
45
45
  name: Island Harbour
46
- code:
46
+ code:
47
47
  unofficial_names: Island Harbour
48
48
  geo:
49
49
  latitude: 18.25617
50
50
  longitude: -63.00724
51
- min_latitude:
52
- min_longitude:
53
- max_latitude:
54
- max_longitude:
51
+ min_latitude:
52
+ min_longitude:
53
+ max_latitude:
54
+ max_longitude:
55
55
  translations:
56
56
  en: Island Harbour
57
- comments:
58
- NH:
57
+ comments:
58
+ NH:
59
59
  name: North Hill
60
- code:
60
+ code:
61
61
  unofficial_names: North Hill
62
62
  geo:
63
63
  latitude: 18.20603
64
64
  longitude: -63.07607
65
- min_latitude:
66
- min_longitude:
67
- max_latitude:
68
- max_longitude:
65
+ min_latitude:
66
+ min_longitude:
67
+ max_latitude:
68
+ max_longitude:
69
69
  translations:
70
70
  en: North Hill
71
- comments:
72
- NS:
71
+ comments:
72
+ NS:
73
73
  name: North Side
74
- code:
74
+ code:
75
75
  unofficial_names: North Side
76
76
  geo:
77
77
  latitude: 18.22931
78
78
  longitude: -63.0468
79
- min_latitude:
80
- min_longitude:
81
- max_latitude:
82
- max_longitude:
79
+ min_latitude:
80
+ min_longitude:
81
+ max_latitude:
82
+ max_longitude:
83
83
  translations:
84
84
  en: North Side
85
- comments:
86
- SG:
85
+ comments:
86
+ SG:
87
87
  name: Sandy Ground
88
- code:
88
+ code:
89
89
  unofficial_names: Sandy Ground
90
90
  geo:
91
91
  latitude: 18.20399
92
92
  longitude: -63.08993
93
- min_latitude:
94
- min_longitude:
95
- max_latitude:
96
- max_longitude:
93
+ min_latitude:
94
+ min_longitude:
95
+ max_latitude:
96
+ max_longitude:
97
97
  translations:
98
98
  en: Sandy Ground
99
- comments:
100
- SH:
99
+ comments:
100
+ SH:
101
101
  name: Sandy Hill
102
- code:
102
+ code:
103
103
  unofficial_names: Sandy Hill
104
104
  geo:
105
105
  latitude: 18.22066
106
106
  longitude: -63.01178
107
- min_latitude:
108
- min_longitude:
109
- max_latitude:
110
- max_longitude:
107
+ min_latitude:
108
+ min_longitude:
109
+ max_latitude:
110
+ max_longitude:
111
111
  translations:
112
112
  en: Sandy Hill
113
- comments:
114
- SO:
113
+ comments:
114
+ SO:
115
115
  name: South Hill
116
- code:
116
+ code:
117
117
  unofficial_names: South Hill
118
118
  geo:
119
119
  latitude: 18.19177
120
120
  longitude: -63.0898
121
- min_latitude:
122
- min_longitude:
123
- max_latitude:
124
- max_longitude:
121
+ min_latitude:
122
+ min_longitude:
123
+ max_latitude:
124
+ max_longitude:
125
125
  translations:
126
126
  en: South Hill
127
- comments:
128
- ST:
127
+ comments:
128
+ ST:
129
129
  name: Stoney Ground
130
- code:
130
+ code:
131
131
  unofficial_names: Stoney Ground
132
132
  geo:
133
133
  latitude: 18.22112
134
134
  longitude: -63.04466
135
- min_latitude:
136
- min_longitude:
137
- max_latitude:
138
- max_longitude:
135
+ min_latitude:
136
+ min_longitude:
137
+ max_latitude:
138
+ max_longitude:
139
139
  translations:
140
140
  en: Stoney Ground
141
- comments:
142
- TF:
141
+ comments:
142
+ TF:
143
143
  name: The Farrington
144
- code:
144
+ code:
145
145
  unofficial_names: The Farrington
146
146
  geo:
147
147
  latitude: 18.21533
148
148
  longitude: -63.02123
149
- min_latitude:
150
- min_longitude:
151
- max_latitude:
152
- max_longitude:
149
+ min_latitude:
150
+ min_longitude:
151
+ max_latitude:
152
+ max_longitude:
153
153
  translations:
154
154
  en: The Farrington
155
- comments:
156
- TQ:
155
+ comments:
156
+ TQ:
157
157
  name: The Quarter
158
- code:
158
+ code:
159
159
  unofficial_names: The Quarter
160
160
  geo:
161
161
  latitude: 18.21158
162
162
  longitude: -63.04504
163
- min_latitude:
164
- min_longitude:
165
- max_latitude:
166
- max_longitude:
163
+ min_latitude:
164
+ min_longitude:
165
+ max_latitude:
166
+ max_longitude:
167
167
  translations:
168
168
  en: The Quarter
169
- comments:
170
- TV:
169
+ comments:
170
+ TV:
171
171
  name: The Valley
172
- code:
172
+ code:
173
173
  unofficial_names: The Valley
174
174
  geo:
175
175
  latitude: 18.21475
176
176
  longitude: -63.05706
177
- min_latitude:
178
- min_longitude:
179
- max_latitude:
180
- max_longitude:
177
+ min_latitude:
178
+ min_longitude:
179
+ max_latitude:
180
+ max_longitude:
181
181
  translations:
182
182
  en: The Valley
183
- comments:
184
- WE:
183
+ comments:
184
+ WE:
185
185
  name: West End
186
- code:
186
+ code:
187
187
  unofficial_names: West End
188
188
  geo:
189
189
  latitude: 18.17138
190
190
  longitude: -63.15113
191
- min_latitude:
192
- min_longitude:
193
- max_latitude:
194
- max_longitude:
191
+ min_latitude:
192
+ min_longitude:
193
+ max_latitude:
194
+ max_longitude:
195
195
  translations:
196
196
  en: West End
197
- comments:
197
+ comments: