direct_address 0.0.11 → 0.1.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.
- data/VERSION +1 -1
- data/direct_address.gemspec +4 -5
- data/lib/direct_address/harvester/countries.yml +14 -12
- data/lib/direct_address/harvester/extend_string.rb +85 -0
- data/lib/direct_address/harvester/geoname.rb +2 -5
- data/lib/direct_address/harvester/regions/AD.yml +0 -6
- data/lib/direct_address/harvester/regions/AE.yml +1 -1
- data/lib/direct_address/harvester/regions/AF.yml +2 -2
- data/lib/direct_address/harvester/regions/AG.yml +2 -3
- data/lib/direct_address/harvester/regions/AL.yml +0 -4
- data/lib/direct_address/harvester/regions/AM.yml +0 -6
- data/lib/direct_address/harvester/regions/AO.yml +0 -20
- data/lib/direct_address/harvester/regions/AR.yml +0 -24
- data/lib/direct_address/harvester/regions/AT.yml +0 -9
- data/lib/direct_address/harvester/regions/AU.yml +0 -8
- data/lib/direct_address/harvester/regions/AZ.yml +0 -7
- data/lib/direct_address/harvester/regions/BA.yml +4 -2
- data/lib/direct_address/harvester/regions/BB.yml +4 -5
- data/lib/direct_address/harvester/regions/BD.yml +0 -3
- data/lib/direct_address/harvester/regions/BE.yml +0 -13
- data/lib/direct_address/harvester/regions/BF.yml +0 -45
- data/lib/direct_address/harvester/regions/BG.yml +2 -26
- data/lib/direct_address/harvester/regions/BH.yml +3 -2
- data/lib/direct_address/harvester/regions/BI.yml +0 -14
- data/lib/direct_address/harvester/regions/BJ.yml +0 -13
- data/lib/direct_address/harvester/regions/BM.yml +3 -0
- data/lib/direct_address/harvester/regions/BO.yml +10 -2
- data/lib/direct_address/harvester/regions/BR.yml +0 -29
- data/lib/direct_address/harvester/regions/BS.yml +11 -2
- data/lib/direct_address/harvester/regions/BT.yml +0 -1
- data/lib/direct_address/harvester/regions/BW.yml +0 -9
- data/lib/direct_address/harvester/regions/BY.yml +4 -1
- data/lib/direct_address/harvester/regions/BZ.yml +1 -2
- data/lib/direct_address/harvester/regions/CA.yml +1 -3
- data/lib/direct_address/harvester/regions/CF.yml +0 -14
- data/lib/direct_address/harvester/regions/CH.yml +0 -24
- data/lib/direct_address/harvester/regions/CI.yml +19 -1
- data/lib/direct_address/harvester/regions/CL.yml +4 -0
- data/lib/direct_address/harvester/regions/CM.yml +0 -1
- data/lib/direct_address/harvester/regions/CN.yml +0 -32
- data/lib/direct_address/harvester/regions/CO.yml +4 -34
- data/lib/direct_address/harvester/regions/CR.yml +0 -1
- data/lib/direct_address/harvester/regions/CU.yml +0 -1
- data/lib/direct_address/harvester/regions/CV.yml +1 -0
- data/lib/direct_address/harvester/regions/CY.yml +0 -1
- data/lib/direct_address/harvester/regions/CZ.yml +0 -19
- data/lib/direct_address/harvester/regions/DE.yml +1 -17
- data/lib/direct_address/harvester/regions/DJ.yml +0 -5
- data/lib/direct_address/harvester/regions/DM.yml +11 -2
- data/lib/direct_address/harvester/regions/DO.yml +17 -15
- data/lib/direct_address/harvester/regions/DZ.yml +0 -3
- data/lib/direct_address/harvester/regions/EC.yml +2 -1
- data/lib/direct_address/harvester/regions/EE.yml +3 -18
- data/lib/direct_address/harvester/regions/EG.yml +0 -1
- data/lib/direct_address/harvester/regions/ES.yml +4 -21
- data/lib/direct_address/harvester/regions/FI.yml +0 -4
- data/lib/direct_address/harvester/regions/FJ.yml +0 -1
- data/lib/direct_address/harvester/regions/FM.yml +0 -4
- data/lib/direct_address/harvester/regions/FR.yml +0 -22
- data/lib/direct_address/harvester/regions/GA.yml +0 -11
- data/lib/direct_address/harvester/regions/GB.yml +15 -222
- data/lib/direct_address/harvester/regions/GD.yml +0 -1
- data/lib/direct_address/harvester/regions/GH.yml +0 -4
- data/lib/direct_address/harvester/regions/GM.yml +0 -6
- data/lib/direct_address/harvester/regions/GN.yml +1 -39
- data/lib/direct_address/harvester/regions/GQ.yml +0 -1
- data/lib/direct_address/harvester/regions/GR.yml +43 -44
- data/lib/direct_address/harvester/regions/GT.yml +1 -2
- data/lib/direct_address/harvester/regions/GW.yml +0 -11
- data/lib/direct_address/harvester/regions/GY.yml +1 -2
- data/lib/direct_address/harvester/regions/HN.yml +2 -3
- data/lib/direct_address/harvester/regions/HR.yml +20 -1
- data/lib/direct_address/harvester/regions/HT.yml +1 -2
- data/lib/direct_address/harvester/regions/HU.yml +1 -31
- data/lib/direct_address/harvester/regions/ID.yml +2 -24
- data/lib/direct_address/harvester/regions/IE.yml +9 -24
- data/lib/direct_address/harvester/regions/IN.yml +0 -33
- data/lib/direct_address/harvester/regions/IO.yml +2 -2
- data/lib/direct_address/harvester/regions/IQ.yml +0 -1
- data/lib/direct_address/harvester/regions/IR.yml +0 -2
- data/lib/direct_address/harvester/regions/IS.yml +0 -12
- data/lib/direct_address/harvester/regions/IT.yml +13 -33
- data/lib/direct_address/harvester/regions/JM.yml +10 -10
- data/lib/direct_address/harvester/regions/JP.yml +0 -58
- data/lib/direct_address/harvester/regions/KE.yml +0 -7
- data/lib/direct_address/harvester/regions/KG.yml +0 -6
- data/lib/direct_address/harvester/regions/KH.yml +3 -1
- data/lib/direct_address/harvester/regions/KM.yml +0 -1
- data/lib/direct_address/harvester/regions/KN.yml +3 -4
- data/lib/direct_address/harvester/regions/KP.yml +0 -9
- data/lib/direct_address/harvester/regions/KR.yml +0 -14
- data/lib/direct_address/harvester/regions/KZ.yml +3 -7
- data/lib/direct_address/harvester/regions/LA.yml +2 -17
- data/lib/direct_address/harvester/regions/LB.yml +12 -1
- data/lib/direct_address/harvester/regions/LC.yml +0 -1
- data/lib/direct_address/harvester/regions/LI.yml +3 -14
- data/lib/direct_address/harvester/regions/LK.yml +1 -2
- data/lib/direct_address/harvester/regions/LR.yml +0 -13
- data/lib/direct_address/harvester/regions/LS.yml +0 -10
- data/lib/direct_address/harvester/regions/LT.yml +8 -0
- data/lib/direct_address/harvester/regions/LU.yml +0 -3
- data/lib/direct_address/harvester/regions/LV.yml +7 -10
- data/lib/direct_address/harvester/regions/LY.yml +0 -1
- data/lib/direct_address/harvester/regions/MD.yml +0 -14
- data/lib/direct_address/harvester/regions/MG.yml +0 -1
- data/lib/direct_address/harvester/regions/MK.yml +68 -1
- data/lib/direct_address/harvester/regions/ML.yml +0 -10
- data/lib/direct_address/harvester/regions/MN.yml +0 -30
- data/lib/direct_address/harvester/regions/MR.yml +0 -18
- data/lib/direct_address/harvester/regions/MS.yml +0 -1
- data/lib/direct_address/harvester/regions/MU.yml +0 -1
- data/lib/direct_address/harvester/regions/MW.yml +0 -26
- data/lib/direct_address/harvester/regions/MX.yml +0 -1
- data/lib/direct_address/harvester/regions/MY.yml +2 -13
- data/lib/direct_address/harvester/regions/MZ.yml +0 -10
- data/lib/direct_address/harvester/regions/NA.yml +0 -1
- data/lib/direct_address/harvester/regions/NE.yml +9 -2
- data/lib/direct_address/harvester/regions/NG.yml +0 -37
- data/lib/direct_address/harvester/regions/NI.yml +2 -1
- data/lib/direct_address/harvester/regions/NL.yml +0 -11
- data/lib/direct_address/harvester/regions/NO.yml +0 -22
- data/lib/direct_address/harvester/regions/NZ.yml +0 -1
- data/lib/direct_address/harvester/regions/OM.yml +0 -1
- data/lib/direct_address/harvester/regions/PA.yml +2 -14
- data/lib/direct_address/harvester/regions/PE.yml +1 -26
- data/lib/direct_address/harvester/regions/PG.yml +0 -1
- data/lib/direct_address/harvester/regions/PH.yml +20 -20
- data/lib/direct_address/harvester/regions/PK.yml +0 -1
- data/lib/direct_address/harvester/regions/PL.yml +4 -15
- data/lib/direct_address/harvester/regions/PM.yml +1 -1
- data/lib/direct_address/harvester/regions/PT.yml +3 -23
- data/lib/direct_address/harvester/regions/PY.yml +10 -10
- data/lib/direct_address/harvester/regions/QA.yml +0 -1
- data/lib/direct_address/harvester/regions/RO.yml +11 -46
- data/lib/direct_address/harvester/regions/RU.yml +1 -78
- data/lib/direct_address/harvester/regions/RW.yml +0 -9
- data/lib/direct_address/harvester/regions/SA.yml +0 -1
- data/lib/direct_address/harvester/regions/SB.yml +2 -0
- data/lib/direct_address/harvester/regions/SD.yml +0 -2
- data/lib/direct_address/harvester/regions/SE.yml +21 -33
- data/lib/direct_address/harvester/regions/SH.yml +4 -2
- data/lib/direct_address/harvester/regions/SI.yml +220 -1
- data/lib/direct_address/harvester/regions/SK.yml +1 -3
- data/lib/direct_address/harvester/regions/SL.yml +0 -3
- data/lib/direct_address/harvester/regions/SM.yml +2 -6
- data/lib/direct_address/harvester/regions/SN.yml +0 -13
- data/lib/direct_address/harvester/regions/SO.yml +0 -4
- data/lib/direct_address/harvester/regions/SR.yml +1 -2
- data/lib/direct_address/harvester/regions/ST.yml +1 -3
- data/lib/direct_address/harvester/regions/SV.yml +0 -1
- data/lib/direct_address/harvester/regions/SY.yml +0 -1
- data/lib/direct_address/harvester/regions/SZ.yml +0 -3
- data/lib/direct_address/harvester/regions/TD.yml +0 -18
- data/lib/direct_address/harvester/regions/TG.yml +0 -7
- data/lib/direct_address/harvester/regions/TH.yml +1 -74
- data/lib/direct_address/harvester/regions/TJ.yml +1 -1
- data/lib/direct_address/harvester/regions/TM.yml +0 -1
- data/lib/direct_address/harvester/regions/TO.yml +2 -2
- data/lib/direct_address/harvester/regions/TR.yml +43 -71
- data/lib/direct_address/harvester/regions/TT.yml +1 -1
- data/lib/direct_address/harvester/regions/TZ.yml +0 -26
- data/lib/direct_address/harvester/regions/UA.yml +5 -8
- data/lib/direct_address/harvester/regions/UG.yml +1 -56
- data/lib/direct_address/harvester/regions/US.yml +0 -51
- data/lib/direct_address/harvester/regions/UY.yml +2 -2
- data/lib/direct_address/harvester/regions/UZ.yml +0 -11
- data/lib/direct_address/harvester/regions/VC.yml +1 -2
- data/lib/direct_address/harvester/regions/VE.yml +0 -1
- data/lib/direct_address/harvester/regions/VN.yml +2 -26
- data/lib/direct_address/harvester/regions/XK.yml +31 -0
- data/lib/direct_address/harvester/regions/YE.yml +7 -0
- data/lib/direct_address/harvester/regions/ZA.yml +0 -9
- data/lib/direct_address/harvester/regions/ZM.yml +0 -1
- data/lib/direct_address/harvester/regions/ZW.yml +0 -1
- data/lib/direct_address/harvester/retriever.rb +81 -0
- metadata +5 -6
- data/lib/direct_address/harvester/regions/CC.yml +0 -2
- data/lib/direct_address/harvester/regions/CD.yml +0 -23
- data/lib/direct_address/harvester/regions/CG.yml +0 -23
- data/lib/direct_address/harvester/regions/MM.yml +0 -28
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0
|
|
1
|
+
0.1.0
|
data/direct_address.gemspec
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{direct_address}
|
|
8
|
-
s.version = "0.0
|
|
8
|
+
s.version = "0.1.0"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Mike Nelson"]
|
|
@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
|
|
|
38
38
|
"lib/direct_address/form_builder.rb",
|
|
39
39
|
"lib/direct_address/form_helper.rb",
|
|
40
40
|
"lib/direct_address/harvester/countries.yml",
|
|
41
|
+
"lib/direct_address/harvester/extend_string.rb",
|
|
41
42
|
"lib/direct_address/harvester/geoname.rb",
|
|
42
43
|
"lib/direct_address/harvester/regions/AD.yml",
|
|
43
44
|
"lib/direct_address/harvester/regions/AE.yml",
|
|
@@ -77,10 +78,7 @@ Gem::Specification.new do |s|
|
|
|
77
78
|
"lib/direct_address/harvester/regions/BY.yml",
|
|
78
79
|
"lib/direct_address/harvester/regions/BZ.yml",
|
|
79
80
|
"lib/direct_address/harvester/regions/CA.yml",
|
|
80
|
-
"lib/direct_address/harvester/regions/CC.yml",
|
|
81
|
-
"lib/direct_address/harvester/regions/CD.yml",
|
|
82
81
|
"lib/direct_address/harvester/regions/CF.yml",
|
|
83
|
-
"lib/direct_address/harvester/regions/CG.yml",
|
|
84
82
|
"lib/direct_address/harvester/regions/CH.yml",
|
|
85
83
|
"lib/direct_address/harvester/regions/CI.yml",
|
|
86
84
|
"lib/direct_address/harvester/regions/CK.yml",
|
|
@@ -184,7 +182,6 @@ Gem::Specification.new do |s|
|
|
|
184
182
|
"lib/direct_address/harvester/regions/MH.yml",
|
|
185
183
|
"lib/direct_address/harvester/regions/MK.yml",
|
|
186
184
|
"lib/direct_address/harvester/regions/ML.yml",
|
|
187
|
-
"lib/direct_address/harvester/regions/MM.yml",
|
|
188
185
|
"lib/direct_address/harvester/regions/MN.yml",
|
|
189
186
|
"lib/direct_address/harvester/regions/MO.yml",
|
|
190
187
|
"lib/direct_address/harvester/regions/MP.yml",
|
|
@@ -281,11 +278,13 @@ Gem::Specification.new do |s|
|
|
|
281
278
|
"lib/direct_address/harvester/regions/VU.yml",
|
|
282
279
|
"lib/direct_address/harvester/regions/WF.yml",
|
|
283
280
|
"lib/direct_address/harvester/regions/WS.yml",
|
|
281
|
+
"lib/direct_address/harvester/regions/XK.yml",
|
|
284
282
|
"lib/direct_address/harvester/regions/YE.yml",
|
|
285
283
|
"lib/direct_address/harvester/regions/YT.yml",
|
|
286
284
|
"lib/direct_address/harvester/regions/ZA.yml",
|
|
287
285
|
"lib/direct_address/harvester/regions/ZM.yml",
|
|
288
286
|
"lib/direct_address/harvester/regions/ZW.yml",
|
|
287
|
+
"lib/direct_address/harvester/retriever.rb",
|
|
289
288
|
"spec/database.yml",
|
|
290
289
|
"spec/debug.log",
|
|
291
290
|
"spec/direct_address_spec.rb",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
- - AW
|
|
31
31
|
- Aruba
|
|
32
32
|
- - AX
|
|
33
|
-
-
|
|
33
|
+
- "\xC3\x85land Islands"
|
|
34
34
|
- - AZ
|
|
35
35
|
- Azerbaijan
|
|
36
36
|
- - BA
|
|
@@ -76,13 +76,13 @@
|
|
|
76
76
|
- - CA
|
|
77
77
|
- Canada
|
|
78
78
|
- - CC
|
|
79
|
-
- Cocos Islands
|
|
79
|
+
- Cocos [Keeling] Islands
|
|
80
80
|
- - CD
|
|
81
|
-
- Congo
|
|
81
|
+
- Congo [DRC]
|
|
82
82
|
- - CF
|
|
83
83
|
- Central African Republic
|
|
84
84
|
- - CG
|
|
85
|
-
- Congo
|
|
85
|
+
- Congo [Republic]
|
|
86
86
|
- - CH
|
|
87
87
|
- Switzerland
|
|
88
88
|
- - CI
|
|
@@ -290,11 +290,11 @@
|
|
|
290
290
|
- - ML
|
|
291
291
|
- Mali
|
|
292
292
|
- - MM
|
|
293
|
-
- Myanmar
|
|
293
|
+
- Myanmar [Burma]
|
|
294
294
|
- - MN
|
|
295
295
|
- Mongolia
|
|
296
296
|
- - MO
|
|
297
|
-
-
|
|
297
|
+
- Macau
|
|
298
298
|
- - MP
|
|
299
299
|
- Northern Mariana Islands
|
|
300
300
|
- - MQ
|
|
@@ -360,11 +360,11 @@
|
|
|
360
360
|
- - PM
|
|
361
361
|
- Saint Pierre and Miquelon
|
|
362
362
|
- - PN
|
|
363
|
-
- Pitcairn
|
|
363
|
+
- Pitcairn Islands
|
|
364
364
|
- - PR
|
|
365
365
|
- Puerto Rico
|
|
366
366
|
- - PS
|
|
367
|
-
- Palestinian
|
|
367
|
+
- Palestinian Territories
|
|
368
368
|
- - PT
|
|
369
369
|
- Portugal
|
|
370
370
|
- - PW
|
|
@@ -374,7 +374,7 @@
|
|
|
374
374
|
- - QA
|
|
375
375
|
- Qatar
|
|
376
376
|
- - RE
|
|
377
|
-
-
|
|
377
|
+
- "R\xC3\xA9union"
|
|
378
378
|
- - RO
|
|
379
379
|
- Romania
|
|
380
380
|
- - RS
|
|
@@ -414,7 +414,7 @@
|
|
|
414
414
|
- - SR
|
|
415
415
|
- Suriname
|
|
416
416
|
- - ST
|
|
417
|
-
-
|
|
417
|
+
- "S\xC3\xA3o Tom\xC3\xA9 and Pr\xC3\xADncipe"
|
|
418
418
|
- - SV
|
|
419
419
|
- El Salvador
|
|
420
420
|
- - SY
|
|
@@ -458,7 +458,7 @@
|
|
|
458
458
|
- - UG
|
|
459
459
|
- Uganda
|
|
460
460
|
- - UM
|
|
461
|
-
-
|
|
461
|
+
- U.S. Minor Outlying Islands
|
|
462
462
|
- - US
|
|
463
463
|
- United States
|
|
464
464
|
- - UY
|
|
@@ -466,7 +466,7 @@
|
|
|
466
466
|
- - UZ
|
|
467
467
|
- Uzbekistan
|
|
468
468
|
- - VA
|
|
469
|
-
- Vatican
|
|
469
|
+
- Vatican City
|
|
470
470
|
- - VC
|
|
471
471
|
- Saint Vincent and the Grenadines
|
|
472
472
|
- - VE
|
|
@@ -483,6 +483,8 @@
|
|
|
483
483
|
- Wallis and Futuna
|
|
484
484
|
- - WS
|
|
485
485
|
- Samoa
|
|
486
|
+
- - XK
|
|
487
|
+
- Kosovo
|
|
486
488
|
- - YE
|
|
487
489
|
- Yemen
|
|
488
490
|
- - YT
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# RemoveAccents version 1.0.3 (c) 2008-2009 Solutions Informatiques Techniconseils inc.
|
|
2
|
+
#
|
|
3
|
+
# This module adds 2 methods to the string class.
|
|
4
|
+
# Up-to-date version and documentation available at:
|
|
5
|
+
#
|
|
6
|
+
# http://www.techniconseils.ca/en/scripts-remove-accents-ruby.php
|
|
7
|
+
#
|
|
8
|
+
# This script is available under the following license :
|
|
9
|
+
# Creative Commons Attribution-Share Alike 2.5.
|
|
10
|
+
#
|
|
11
|
+
# See full license and details at :
|
|
12
|
+
# http://creativecommons.org/licenses/by-sa/2.5/ca/
|
|
13
|
+
#
|
|
14
|
+
# Version history:
|
|
15
|
+
# * 1.0.3 : July 23 2009
|
|
16
|
+
# Corrected some incorrect character codes. Source is now wikipedia at:
|
|
17
|
+
# http://en.wikipedia.org/wiki/ISO/IEC_8859-1#Related_character_maps
|
|
18
|
+
# Thanks to Raimon Fernandez for pointing out the incorrect codes.
|
|
19
|
+
# * 1.0.2 : October 29 2008
|
|
20
|
+
# Slightly optimized version of urlize - Jonathan Grenier (jgrenier@techniconseils.ca)
|
|
21
|
+
# * 1.0.1 : October 29 2008
|
|
22
|
+
# First public revision - Jonathan Grenier (jgrenier@techniconseils.ca)
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
class String
|
|
26
|
+
# The extended characters map used by removeaccents. The accented characters
|
|
27
|
+
# are coded here using their numerical equivalent to sidestep encoding issues.
|
|
28
|
+
# These correspond to ISO-8859-1 encoding.
|
|
29
|
+
ACCENTS_MAPPING = {
|
|
30
|
+
'E' => [200,201,202,203],
|
|
31
|
+
'e' => [232,233,234,235],
|
|
32
|
+
'A' => [192,193,194,195,196,197],
|
|
33
|
+
'a' => [224,225,226,227,228,229,230],
|
|
34
|
+
'C' => [199],
|
|
35
|
+
'c' => [231],
|
|
36
|
+
'O' => [210,211,212,213,214,216],
|
|
37
|
+
'o' => [242,243,244,245,246,248],
|
|
38
|
+
'I' => [204,205,206,207],
|
|
39
|
+
'i' => [236,237,238,239],
|
|
40
|
+
'U' => [217,218,219,220],
|
|
41
|
+
'u' => [249,250,251,252],
|
|
42
|
+
'N' => [209],
|
|
43
|
+
'n' => [241],
|
|
44
|
+
'Y' => [221],
|
|
45
|
+
'y' => [253,255],
|
|
46
|
+
'AE' => [306],
|
|
47
|
+
'ae' => [346],
|
|
48
|
+
'OE' => [188],
|
|
49
|
+
'oe' => [189]
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
# Remove the accents from the string. Uses String::ACCENTS_MAPPING as the source map.
|
|
54
|
+
def removeaccents
|
|
55
|
+
str = String.new(self)
|
|
56
|
+
String::ACCENTS_MAPPING.each {|letter,accents|
|
|
57
|
+
packed = accents.pack('U*')
|
|
58
|
+
rxp = Regexp.new("[#{packed}]", nil, 'U')
|
|
59
|
+
str.gsub!(rxp, letter)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
str
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
# Convert a string to a format suitable for a URL without ever using escaped characters.
|
|
67
|
+
# It calls strip, removeaccents, downcase (optional) then removes the spaces (optional)
|
|
68
|
+
# and finally removes any characters matching the default regexp (/[^-_A-Za-z0-9]/).
|
|
69
|
+
#
|
|
70
|
+
# Options
|
|
71
|
+
#
|
|
72
|
+
# * :downcase => call downcase on the string (defaults to true)
|
|
73
|
+
# * :convert_spaces => Convert space to underscore (defaults to false)
|
|
74
|
+
# * :regexp => The regexp matching characters that will be converting to an empty string (defaults to /[^-_A-Za-z0-9]/)
|
|
75
|
+
def urlize(options = {})
|
|
76
|
+
options[:downcase] ||= true
|
|
77
|
+
options[:convert_spaces] ||= false
|
|
78
|
+
options[:regexp] ||= /[^-_A-Za-z0-9]/
|
|
79
|
+
|
|
80
|
+
str = self.strip.removeaccents
|
|
81
|
+
str.downcase! if options[:downcase]
|
|
82
|
+
str.gsub!(/\ /,'_') if options[:convert_spaces]
|
|
83
|
+
str.gsub(options[:regexp], '')
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -12,18 +12,18 @@
|
|
|
12
12
|
- Herat province
|
|
13
13
|
- Jowzjan province
|
|
14
14
|
- Kabul province
|
|
15
|
-
- Kabul
|
|
16
15
|
- Kandahar province
|
|
17
16
|
- Kapisa province
|
|
18
17
|
- Kondoz province
|
|
18
|
+
- Khost province
|
|
19
19
|
- Konar province
|
|
20
20
|
- Laghman province
|
|
21
21
|
- Lowgar province
|
|
22
22
|
- Nangrahar province
|
|
23
23
|
- Nimruz province
|
|
24
|
+
- Nurestan province
|
|
24
25
|
- Oruzgan province
|
|
25
26
|
- Parwan province
|
|
26
|
-
- kabul
|
|
27
27
|
- Paktia province
|
|
28
28
|
- Paktika province
|
|
29
29
|
- Samangan province
|
|
@@ -1,39 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
- Bengo
|
|
3
|
-
- Caxito
|
|
4
3
|
- Benguela province
|
|
5
|
-
- Benguela
|
|
6
4
|
- Bie
|
|
7
|
-
- Kuito
|
|
8
|
-
- Cabinda
|
|
9
5
|
- Cabinda
|
|
10
6
|
- Cuando-Cubango
|
|
11
|
-
- Menongue
|
|
12
7
|
- Cunene
|
|
13
|
-
- Ondjiva
|
|
14
8
|
- Cuanza Norte
|
|
15
|
-
- N'dalatando
|
|
16
9
|
- Cuanza Sul
|
|
17
|
-
- Sumbe
|
|
18
10
|
- Huambo province
|
|
19
|
-
- Huambo
|
|
20
11
|
- Huila province
|
|
21
|
-
- Lubango
|
|
22
12
|
- Lunda Norte
|
|
23
|
-
- Lucapa
|
|
24
13
|
- Lunda Sul
|
|
25
|
-
- Saurimo
|
|
26
|
-
- Luanda
|
|
27
14
|
- Luanda
|
|
28
15
|
- Malange
|
|
29
|
-
- Malanje
|
|
30
16
|
- Moxico
|
|
31
|
-
- Luena
|
|
32
|
-
- Namibe
|
|
33
17
|
- Namibe
|
|
34
18
|
- Uige
|
|
35
|
-
- !binary |
|
|
36
|
-
VcOtZ2U=
|
|
37
|
-
|
|
38
19
|
- Zaire
|
|
39
|
-
- M'banza Congo
|
|
@@ -1,49 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
- Salta
|
|
3
|
-
- Salta
|
|
4
3
|
- Buenos Aires Province
|
|
5
|
-
- La Plata
|
|
6
4
|
- Distrito Federal
|
|
7
|
-
- Buenos Aires
|
|
8
|
-
- San Luis
|
|
9
5
|
- San Luis
|
|
10
6
|
- Entre Rios
|
|
11
|
-
- "Paran\xC3\xA1"
|
|
12
|
-
- La Rioja
|
|
13
7
|
- La Rioja
|
|
14
8
|
- Santiago del Estero
|
|
15
|
-
- Santiago del Estero
|
|
16
9
|
- Chaco
|
|
17
|
-
- Resistencia
|
|
18
|
-
- San Juan
|
|
19
10
|
- San Juan
|
|
20
11
|
- Catamarca
|
|
21
|
-
- San Fernando del Valle de Catamarca
|
|
22
12
|
- La Pampa
|
|
23
|
-
- Santa Rosa
|
|
24
|
-
- Mendoza
|
|
25
13
|
- Mendoza
|
|
26
14
|
- Misiones
|
|
27
|
-
- Posadas
|
|
28
|
-
- Formosa
|
|
29
15
|
- Formosa
|
|
30
16
|
- Neuquen
|
|
31
|
-
- "Neuqu\xC3\xA9n"
|
|
32
17
|
- Rio Negro
|
|
33
|
-
- Viedma
|
|
34
|
-
- Santa Fe
|
|
35
18
|
- Santa Fe
|
|
36
19
|
- Tucuman
|
|
37
|
-
- "San Miguel de Tucum\xC3\xA1n"
|
|
38
20
|
- Chubut
|
|
39
|
-
- Rawson
|
|
40
21
|
- Tierra del Fuego
|
|
41
|
-
- Ushuaia
|
|
42
|
-
- Corrientes
|
|
43
22
|
- Corrientes
|
|
44
23
|
- Cordoba
|
|
45
|
-
- "C\xC3\xB3rdoba"
|
|
46
24
|
- Jujuy
|
|
47
|
-
- San Salvador de Jujuy
|
|
48
25
|
- Santa Cruz
|
|
49
|
-
- "R\xC3\xADo Gallegos"
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
- Burgenland
|
|
3
|
-
- Eisenstadt
|
|
4
3
|
- Karnten
|
|
5
|
-
- Klagenfurt
|
|
6
4
|
- Niederosterreich
|
|
7
|
-
- "Sankt P\xC3\xB6lten"
|
|
8
5
|
- Oberosterreich
|
|
9
|
-
- Linz
|
|
10
|
-
- Salzburg
|
|
11
6
|
- Salzburg
|
|
12
7
|
- Steiermark
|
|
13
|
-
- Graz
|
|
14
8
|
- Tirol
|
|
15
|
-
- Innsbruck
|
|
16
9
|
- Vorarlberg
|
|
17
|
-
- Bregenz
|
|
18
|
-
- Wien
|
|
19
10
|
- Wien
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
- Australian Capital Territory
|
|
3
|
-
- Canberra
|
|
4
3
|
- New South Wales
|
|
5
|
-
- Sydney
|
|
6
4
|
- Northern Territory
|
|
7
|
-
- Darwin
|
|
8
5
|
- Queensland
|
|
9
|
-
- Brisbane
|
|
10
6
|
- South Australia
|
|
11
|
-
- Adelaide
|
|
12
7
|
- Tasmania
|
|
13
|
-
- Hobart
|
|
14
8
|
- Victoria
|
|
15
|
-
- Melbourne
|
|
16
9
|
- Western Australia
|
|
17
|
-
- Perth
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
- Agsu
|
|
9
9
|
- Astara
|
|
10
10
|
- Baki
|
|
11
|
-
- Baku
|
|
12
11
|
- BalakAn
|
|
13
12
|
- BArdA
|
|
14
13
|
- Beylaqan
|
|
@@ -20,7 +19,6 @@
|
|
|
20
19
|
- Ganca
|
|
21
20
|
- Gadabay
|
|
22
21
|
- Goranboy
|
|
23
|
-
- Goranboy
|
|
24
22
|
- Goycay
|
|
25
23
|
- Haciqabul
|
|
26
24
|
- Imisli
|
|
@@ -38,7 +36,6 @@
|
|
|
38
36
|
- Qabala
|
|
39
37
|
- Qax
|
|
40
38
|
- Qazax
|
|
41
|
-
- Qazax
|
|
42
39
|
- Quba
|
|
43
40
|
- Qubadli
|
|
44
41
|
- Qobustan
|
|
@@ -53,13 +50,10 @@
|
|
|
53
50
|
- Samux
|
|
54
51
|
- Tartar
|
|
55
52
|
- Tovuz
|
|
56
|
-
- Tovuz
|
|
57
|
-
- Ucar
|
|
58
53
|
- Ucar
|
|
59
54
|
- Xankandi
|
|
60
55
|
- Xacmaz
|
|
61
56
|
- Xanlar
|
|
62
|
-
- Xanlar
|
|
63
57
|
- Xocali
|
|
64
58
|
- Xizi
|
|
65
59
|
- Xocavand
|
|
@@ -67,5 +61,4 @@
|
|
|
67
61
|
- Yevlax
|
|
68
62
|
- Zangilan
|
|
69
63
|
- Zaqatala
|
|
70
|
-
- Zaqatala
|
|
71
64
|
- Zardab
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
- Saint Andrew
|
|
3
2
|
- Christ Church
|
|
4
|
-
- Saint
|
|
3
|
+
- Saint Andrew
|
|
5
4
|
- Saint George
|
|
5
|
+
- Saint James
|
|
6
6
|
- Saint John
|
|
7
|
+
- Saint Joseph
|
|
7
8
|
- Saint Lucy
|
|
8
9
|
- Saint Michael
|
|
9
|
-
-
|
|
10
|
-
- Saint Joseph
|
|
10
|
+
- Saint Peter
|
|
11
11
|
- Saint Philip
|
|
12
|
-
- Saint James
|
|
13
12
|
- Saint Thomas
|
|
@@ -1,25 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
- Brussels
|
|
3
|
-
- Brussels
|
|
4
3
|
- Antwerpen
|
|
5
|
-
- Antwerp
|
|
6
4
|
- Vlaams Brabant
|
|
7
|
-
- Leuven
|
|
8
5
|
- Limburg
|
|
9
|
-
- Hasselt
|
|
10
6
|
- Oost-Vlaanderen
|
|
11
|
-
- Gent
|
|
12
7
|
- West-Vlaanderen
|
|
13
|
-
- Brugge
|
|
14
8
|
- Brabant Wallon
|
|
15
|
-
- Wavre
|
|
16
9
|
- Hainaut
|
|
17
|
-
- Mons
|
|
18
10
|
- Liege
|
|
19
|
-
- !binary |
|
|
20
|
-
TGnDqGdl
|
|
21
|
-
|
|
22
11
|
- Luxembourg
|
|
23
|
-
- Arlon
|
|
24
|
-
- Namur
|
|
25
12
|
- Namur
|
|
@@ -1,91 +1,46 @@
|
|
|
1
1
|
---
|
|
2
2
|
- Bale
|
|
3
3
|
- Bam
|
|
4
|
-
- Kongoussi
|
|
5
4
|
- Banwa
|
|
6
|
-
- Solenzo
|
|
7
5
|
- Bazega
|
|
8
6
|
- Boulgou
|
|
9
|
-
- Tenkodogo
|
|
10
7
|
- Boulkiemde
|
|
11
|
-
- Koudougou
|
|
12
8
|
- Bougouriba
|
|
13
|
-
- "Di\xC3\xA9bougou"
|
|
14
9
|
- Comoe
|
|
15
10
|
- Ganzourgou
|
|
16
|
-
- Zorgho
|
|
17
11
|
- Gnagna
|
|
18
|
-
- "Bogand\xC3\xA9"
|
|
19
12
|
- Gourma
|
|
20
|
-
- Fada N'Gourma
|
|
21
13
|
- Houet
|
|
22
|
-
- Bobo Dioulasso
|
|
23
14
|
- Ioba
|
|
24
|
-
- Dano
|
|
25
15
|
- Kadiogo
|
|
26
|
-
- Ouagadougou
|
|
27
16
|
- Kenedougou
|
|
28
17
|
- Komondjari
|
|
29
|
-
- "Gay\xC3\xA9ri"
|
|
30
18
|
- Koulpelogo
|
|
31
19
|
- Kompienga
|
|
32
|
-
- Pama
|
|
33
20
|
- Kossi
|
|
34
|
-
- Nouna
|
|
35
21
|
- Kouritenga
|
|
36
|
-
- "Koup\xC3\xA9la"
|
|
37
22
|
- Kourweogo
|
|
38
23
|
- Leraba
|
|
39
24
|
- Loroum
|
|
40
|
-
- Titao
|
|
41
25
|
- Mouhoun
|
|
42
|
-
- "D\xC3\xA9dougou"
|
|
43
26
|
- Nahouri
|
|
44
|
-
- !binary |
|
|
45
|
-
UMO0
|
|
46
|
-
|
|
47
27
|
- Namentenga
|
|
48
|
-
- Boulsa
|
|
49
28
|
- Nayala
|
|
50
|
-
- Toma
|
|
51
29
|
- Noumbiel
|
|
52
|
-
- !binary |
|
|
53
|
-
QmF0acOp
|
|
54
|
-
|
|
55
30
|
- Oubritenga
|
|
56
|
-
- "Ziniar\xC3\xA9"
|
|
57
31
|
- Oudalan
|
|
58
|
-
- Gorom-Gorom
|
|
59
32
|
- Passore
|
|
60
|
-
- Yako
|
|
61
33
|
- Poni
|
|
62
|
-
- Gaoua
|
|
63
34
|
- Sanguie
|
|
64
|
-
- !binary |
|
|
65
|
-
UsOpbw==
|
|
66
|
-
|
|
67
35
|
- Sanmatenga
|
|
68
|
-
- Kaya
|
|
69
36
|
- Seno
|
|
70
37
|
- Sissili
|
|
71
|
-
- !binary |
|
|
72
|
-
TMOpbw==
|
|
73
|
-
|
|
74
38
|
- Soum
|
|
75
|
-
- Djibo
|
|
76
39
|
- Sourou
|
|
77
|
-
- Tougan
|
|
78
40
|
- Tapoa
|
|
79
|
-
- Diapaga
|
|
80
41
|
- Tuy
|
|
81
|
-
- "Hound\xC3\xA9"
|
|
82
42
|
- Yagha
|
|
83
|
-
- Sebba
|
|
84
43
|
- Yatenga
|
|
85
|
-
- Ouahigouya
|
|
86
44
|
- Ziro
|
|
87
|
-
- Sapouy
|
|
88
45
|
- Zondoma
|
|
89
|
-
- Gourcy
|
|
90
46
|
- Zoundweogo
|
|
91
|
-
- Manga
|