addressing 2.0.1 → 2.2.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +223 -111
  4. data/data/UPSTREAM_VERSION +1 -0
  5. data/data/address_formats.json +2256 -206
  6. data/data/countries.json +1282 -0
  7. data/data/locale.json +222 -0
  8. data/data/subdivision/AE.json +1 -1
  9. data/data/subdivision/BR-AC.json +22 -22
  10. data/data/subdivision/BR-AL.json +102 -102
  11. data/data/subdivision/BR-AM.json +62 -62
  12. data/data/subdivision/BR-AP.json +16 -16
  13. data/data/subdivision/BR-BA.json +417 -417
  14. data/data/subdivision/BR-CE.json +184 -184
  15. data/data/subdivision/BR-DF.json +1 -1
  16. data/data/subdivision/BR-ES.json +79 -79
  17. data/data/subdivision/BR-GO.json +246 -246
  18. data/data/subdivision/BR-MA.json +217 -217
  19. data/data/subdivision/BR-MG.json +853 -853
  20. data/data/subdivision/BR-MS.json +78 -78
  21. data/data/subdivision/BR-MT.json +141 -141
  22. data/data/subdivision/BR-PA.json +144 -144
  23. data/data/subdivision/BR-PB.json +223 -223
  24. data/data/subdivision/BR-PE.json +185 -185
  25. data/data/subdivision/BR-PI.json +223 -223
  26. data/data/subdivision/BR-PR.json +400 -400
  27. data/data/subdivision/BR-RJ.json +93 -93
  28. data/data/subdivision/BR-RN.json +166 -166
  29. data/data/subdivision/BR-RO.json +52 -52
  30. data/data/subdivision/BR-RR.json +15 -15
  31. data/data/subdivision/BR-RS.json +497 -497
  32. data/data/subdivision/BR-SC.json +295 -295
  33. data/data/subdivision/BR-SE.json +75 -75
  34. data/data/subdivision/BR-SP.json +645 -645
  35. data/data/subdivision/BR-TO.json +139 -139
  36. data/data/subdivision/CA.json +6 -12
  37. data/data/subdivision/CL-AI.json +10 -10
  38. data/data/subdivision/CL-AN.json +9 -9
  39. data/data/subdivision/CL-AP.json +4 -4
  40. data/data/subdivision/CL-AR.json +32 -32
  41. data/data/subdivision/CL-AT.json +9 -9
  42. data/data/subdivision/CL-BI.json +34 -34
  43. data/data/subdivision/CL-CO.json +15 -15
  44. data/data/subdivision/CL-LI.json +33 -33
  45. data/data/subdivision/CL-LL.json +30 -30
  46. data/data/subdivision/CL-LR.json +12 -12
  47. data/data/subdivision/CL-MA.json +11 -11
  48. data/data/subdivision/CL-ML.json +30 -30
  49. data/data/subdivision/CL-NB.json +21 -21
  50. data/data/subdivision/CL-RM.json +52 -52
  51. data/data/subdivision/CL-TA.json +7 -7
  52. data/data/subdivision/CL-VS.json +38 -38
  53. data/data/subdivision/CO.json +1 -1
  54. data/data/subdivision/CV.json +9 -9
  55. data/data/subdivision/GB.json +675 -0
  56. data/data/subdivision/GT.json +71 -0
  57. data/data/subdivision/IT.json +13 -1
  58. data/data/subdivision/KY.json +3 -3
  59. data/data/subdivision/NG.json +1 -1
  60. data/data/subdivision/RU.json +4 -4
  61. data/data/subdivision/TH.json +7 -7
  62. data/data/subdivision/TR.json +1 -1
  63. data/data/subdivision/TV.json +1 -1
  64. data/data/subdivision/VE.json +4 -4
  65. data/data/subdivision/VN.json +1 -1
  66. data/lib/addressing/address.rb +7 -3
  67. data/lib/addressing/address_format.rb +93 -97
  68. data/lib/addressing/address_validator.rb +98 -0
  69. data/lib/addressing/blank.rb +32 -0
  70. data/lib/addressing/country.rb +28 -314
  71. data/lib/addressing/data_source.rb +75 -0
  72. data/lib/addressing/default_formatter.rb +61 -33
  73. data/lib/addressing/enum.rb +2 -6
  74. data/lib/addressing/field_violation.rb +17 -0
  75. data/lib/addressing/lazy_subdivisions.rb +16 -15
  76. data/lib/addressing/locale.rb +20 -269
  77. data/lib/addressing/model.rb +20 -79
  78. data/lib/addressing/postal_label_formatter.rb +16 -15
  79. data/lib/addressing/subdivision.rb +121 -106
  80. data/lib/addressing/version.rb +1 -1
  81. data/lib/addressing.rb +6 -1
  82. metadata +11 -3
  83. data/data/address_formats.dump +0 -0
@@ -5,38 +5,38 @@
5
5
  "LI"
6
6
  ],
7
7
  "subdivisions": {
8
- "Chépica": {},
9
- "Chimbarongo": {},
10
- "Codegua": {},
11
- "Coínco": {},
12
- "Coltauco": {},
13
- "Doñihue": {},
14
- "Graneros": {},
15
- "La Estrella": {},
16
- "Las Cabras": {},
17
- "Litueche": {},
18
- "Lolol": {},
19
- "Machalí": {},
20
- "Malloa": {},
21
- "Marchigüe": {},
22
- "Nancagua": {},
23
- "Navidad": {},
24
- "Olivar": {},
25
- "Palmilla": {},
26
- "Paredones": {},
27
- "Peralillo": {},
28
- "Peumo": {},
29
- "Pichidegua": {},
30
- "Pichilemu": {},
31
- "Placilla": {},
32
- "Pumanque": {},
33
- "Quinta de Tilcoco": {},
34
- "Rancagua": {},
35
- "Rengo": {},
36
- "Requínoa": {},
37
- "San Fernando": {},
38
- "San Francisco de Mostazal": {},
39
- "San Vicente de Tagua Tagua": {},
40
- "Santa Cruz": {}
8
+ "Chépica": [],
9
+ "Chimbarongo": [],
10
+ "Codegua": [],
11
+ "Coínco": [],
12
+ "Coltauco": [],
13
+ "Doñihue": [],
14
+ "Graneros": [],
15
+ "La Estrella": [],
16
+ "Las Cabras": [],
17
+ "Litueche": [],
18
+ "Lolol": [],
19
+ "Machalí": [],
20
+ "Malloa": [],
21
+ "Marchigüe": [],
22
+ "Nancagua": [],
23
+ "Navidad": [],
24
+ "Olivar": [],
25
+ "Palmilla": [],
26
+ "Paredones": [],
27
+ "Peralillo": [],
28
+ "Peumo": [],
29
+ "Pichidegua": [],
30
+ "Pichilemu": [],
31
+ "Placilla": [],
32
+ "Pumanque": [],
33
+ "Quinta de Tilcoco": [],
34
+ "Rancagua": [],
35
+ "Rengo": [],
36
+ "Requínoa": [],
37
+ "San Fernando": [],
38
+ "San Francisco de Mostazal": [],
39
+ "San Vicente de Tagua Tagua": [],
40
+ "Santa Cruz": []
41
41
  }
42
42
  }
@@ -5,35 +5,35 @@
5
5
  "LL"
6
6
  ],
7
7
  "subdivisions": {
8
- "Ancud": {},
9
- "Calbuco": {},
10
- "Castro": {},
11
- "Chaitén": {},
12
- "Chonchi": {},
13
- "Cochamó": {},
14
- "Curaco de Vélez": {},
15
- "Dalcahue": {},
16
- "Fresia": {},
17
- "Frutillar": {},
18
- "Futaleufú": {},
19
- "Hualaihué": {},
20
- "Llanquihue": {},
21
- "Los Muermos": {},
22
- "Maullín": {},
23
- "Osorno": {},
24
- "Palena": {},
25
- "Puerto Montt": {},
26
- "Puerto Octay": {},
27
- "Puerto Varas": {},
28
- "Puqueldón": {},
29
- "Purranque": {},
30
- "Puyehue": {},
31
- "Queilén": {},
32
- "Quellón": {},
33
- "Quemchi": {},
34
- "Quinchao": {},
35
- "Río Negro": {},
36
- "San Juan de la Costa": {},
37
- "San Pablo": {}
8
+ "Ancud": [],
9
+ "Calbuco": [],
10
+ "Castro": [],
11
+ "Chaitén": [],
12
+ "Chonchi": [],
13
+ "Cochamó": [],
14
+ "Curaco de Vélez": [],
15
+ "Dalcahue": [],
16
+ "Fresia": [],
17
+ "Frutillar": [],
18
+ "Futaleufú": [],
19
+ "Hualaihué": [],
20
+ "Llanquihue": [],
21
+ "Los Muermos": [],
22
+ "Maullín": [],
23
+ "Osorno": [],
24
+ "Palena": [],
25
+ "Puerto Montt": [],
26
+ "Puerto Octay": [],
27
+ "Puerto Varas": [],
28
+ "Puqueldón": [],
29
+ "Purranque": [],
30
+ "Puyehue": [],
31
+ "Queilén": [],
32
+ "Quellón": [],
33
+ "Quemchi": [],
34
+ "Quinchao": [],
35
+ "Río Negro": [],
36
+ "San Juan de la Costa": [],
37
+ "San Pablo": []
38
38
  }
39
39
  }
@@ -5,17 +5,17 @@
5
5
  "LR"
6
6
  ],
7
7
  "subdivisions": {
8
- "Corral": {},
9
- "Futrono": {},
10
- "La Unión": {},
11
- "Lago Ranco": {},
12
- "Lanco": {},
13
- "Los Lagos": {},
14
- "Máfil": {},
15
- "Mariquina": {},
16
- "Paillaco": {},
17
- "Panguipulli": {},
18
- "Río Bueno": {},
19
- "Valdivia": {}
8
+ "Corral": [],
9
+ "Futrono": [],
10
+ "La Unión": [],
11
+ "Lago Ranco": [],
12
+ "Lanco": [],
13
+ "Los Lagos": [],
14
+ "Máfil": [],
15
+ "Mariquina": [],
16
+ "Paillaco": [],
17
+ "Panguipulli": [],
18
+ "Río Bueno": [],
19
+ "Valdivia": []
20
20
  }
21
21
  }
@@ -5,16 +5,16 @@
5
5
  "MA"
6
6
  ],
7
7
  "subdivisions": {
8
- "Antártica": {},
9
- "Cabo de Hornos": {},
10
- "Laguna Blanca": {},
11
- "Natales": {},
12
- "Porvenir": {},
13
- "Primavera": {},
14
- "Punta Arenas": {},
15
- "Río Verde": {},
16
- "San Gregorio": {},
17
- "Timaukel": {},
18
- "Torres del Paine": {}
8
+ "Antártica": [],
9
+ "Cabo de Hornos": [],
10
+ "Laguna Blanca": [],
11
+ "Natales": [],
12
+ "Porvenir": [],
13
+ "Primavera": [],
14
+ "Punta Arenas": [],
15
+ "Río Verde": [],
16
+ "San Gregorio": [],
17
+ "Timaukel": [],
18
+ "Torres del Paine": []
19
19
  }
20
20
  }
@@ -5,35 +5,35 @@
5
5
  "ML"
6
6
  ],
7
7
  "subdivisions": {
8
- "Cauquenes": {},
9
- "Chanco": {},
10
- "Colbún": {},
11
- "Constitución": {},
12
- "Curepto": {},
13
- "Curicó": {},
14
- "Empedrado": {},
15
- "Hualañé": {},
16
- "Licantén": {},
17
- "Linares": {},
18
- "Longaví": {},
19
- "Maule": {},
20
- "Molina": {},
21
- "Parral": {},
22
- "Pelarco": {},
23
- "Pelluhue": {},
24
- "Pencahue": {},
25
- "Rauco": {},
26
- "Retiro": {},
27
- "Río Claro": {},
28
- "Romeral": {},
29
- "Sagrada Familia": {},
30
- "San Clemente": {},
31
- "San Javier de Loncomilla": {},
32
- "San Rafael": {},
33
- "Talca": {},
34
- "Teno": {},
35
- "Vichuquén": {},
36
- "Villa Alegre": {},
37
- "Yerbas Buenas": {}
8
+ "Cauquenes": [],
9
+ "Chanco": [],
10
+ "Colbún": [],
11
+ "Constitución": [],
12
+ "Curepto": [],
13
+ "Curicó": [],
14
+ "Empedrado": [],
15
+ "Hualañé": [],
16
+ "Licantén": [],
17
+ "Linares": [],
18
+ "Longaví": [],
19
+ "Maule": [],
20
+ "Molina": [],
21
+ "Parral": [],
22
+ "Pelarco": [],
23
+ "Pelluhue": [],
24
+ "Pencahue": [],
25
+ "Rauco": [],
26
+ "Retiro": [],
27
+ "Río Claro": [],
28
+ "Romeral": [],
29
+ "Sagrada Familia": [],
30
+ "San Clemente": [],
31
+ "San Javier de Loncomilla": [],
32
+ "San Rafael": [],
33
+ "Talca": [],
34
+ "Teno": [],
35
+ "Vichuquén": [],
36
+ "Villa Alegre": [],
37
+ "Yerbas Buenas": []
38
38
  }
39
39
  }
@@ -5,26 +5,26 @@
5
5
  "NB"
6
6
  ],
7
7
  "subdivisions": {
8
- "Bulnes": {},
9
- "Cobquecura": {},
10
- "Coelemu": {},
11
- "Coihueco": {},
12
- "Chillán": {},
13
- "Chillán Viejo": {},
14
- "El Carmen": {},
15
- "Ninhue": {},
16
- "Ñiquén": {},
17
- "Pemuco": {},
18
- "Pinto": {},
19
- "Portezuelo": {},
20
- "Quillón": {},
21
- "Quirihue": {},
22
- "Ránquil": {},
23
- "San Carlos": {},
24
- "San Fabián": {},
25
- "San Ignacio": {},
26
- "San Nicolás": {},
27
- "Treguaco": {},
28
- "Yungay": {}
8
+ "Bulnes": [],
9
+ "Cobquecura": [],
10
+ "Coelemu": [],
11
+ "Coihueco": [],
12
+ "Chillán": [],
13
+ "Chillán Viejo": [],
14
+ "El Carmen": [],
15
+ "Ninhue": [],
16
+ "Ñiquén": [],
17
+ "Pemuco": [],
18
+ "Pinto": [],
19
+ "Portezuelo": [],
20
+ "Quillón": [],
21
+ "Quirihue": [],
22
+ "Ránquil": [],
23
+ "San Carlos": [],
24
+ "San Fabián": [],
25
+ "San Ignacio": [],
26
+ "San Nicolás": [],
27
+ "Treguaco": [],
28
+ "Yungay": []
29
29
  }
30
30
  }
@@ -5,57 +5,57 @@
5
5
  "RM"
6
6
  ],
7
7
  "subdivisions": {
8
- "Alhué": {},
9
- "Buin": {},
10
- "Calera de Tango": {},
11
- "Cerrillos": {},
12
- "Cerro Navia": {},
13
- "Colina": {},
14
- "Conchalí": {},
15
- "Curacaví": {},
16
- "El Bosque": {},
17
- "El Monte": {},
18
- "Estación Central": {},
19
- "Huechuraba": {},
20
- "Independencia": {},
21
- "Isla de Maipo": {},
22
- "La Cisterna": {},
23
- "La Florida": {},
24
- "La Granja": {},
25
- "La Pintana": {},
26
- "La Reina": {},
27
- "Lampa": {},
28
- "Las Condes": {},
29
- "Lo Barnechea": {},
30
- "Lo Espejo": {},
31
- "Lo Prado": {},
32
- "Macul": {},
33
- "Maipú": {},
34
- "María Pinto": {},
35
- "Melipilla": {},
36
- "Ñuñoa": {},
37
- "Padre Hurtado": {},
38
- "Paine": {},
39
- "Pedro Aguirre Cerda": {},
40
- "Peñaflor": {},
41
- "Peñalolén": {},
42
- "Pirque": {},
43
- "Providencia": {},
44
- "Pudahuel": {},
45
- "Puente Alto": {},
46
- "Quilicura": {},
47
- "Quinta Normal": {},
48
- "Recoleta": {},
49
- "Renca": {},
50
- "San Bernardo": {},
51
- "San Joaquín": {},
52
- "San José de Maipo": {},
53
- "San Miguel": {},
54
- "San Pedro": {},
55
- "San Ramón": {},
56
- "Santiago": {},
57
- "Talagante": {},
58
- "Tiltil": {},
59
- "Vitacura": {}
8
+ "Alhué": [],
9
+ "Buin": [],
10
+ "Calera de Tango": [],
11
+ "Cerrillos": [],
12
+ "Cerro Navia": [],
13
+ "Colina": [],
14
+ "Conchalí": [],
15
+ "Curacaví": [],
16
+ "El Bosque": [],
17
+ "El Monte": [],
18
+ "Estación Central": [],
19
+ "Huechuraba": [],
20
+ "Independencia": [],
21
+ "Isla de Maipo": [],
22
+ "La Cisterna": [],
23
+ "La Florida": [],
24
+ "La Granja": [],
25
+ "La Pintana": [],
26
+ "La Reina": [],
27
+ "Lampa": [],
28
+ "Las Condes": [],
29
+ "Lo Barnechea": [],
30
+ "Lo Espejo": [],
31
+ "Lo Prado": [],
32
+ "Macul": [],
33
+ "Maipú": [],
34
+ "María Pinto": [],
35
+ "Melipilla": [],
36
+ "Ñuñoa": [],
37
+ "Padre Hurtado": [],
38
+ "Paine": [],
39
+ "Pedro Aguirre Cerda": [],
40
+ "Peñaflor": [],
41
+ "Peñalolén": [],
42
+ "Pirque": [],
43
+ "Providencia": [],
44
+ "Pudahuel": [],
45
+ "Puente Alto": [],
46
+ "Quilicura": [],
47
+ "Quinta Normal": [],
48
+ "Recoleta": [],
49
+ "Renca": [],
50
+ "San Bernardo": [],
51
+ "San Joaquín": [],
52
+ "San José de Maipo": [],
53
+ "San Miguel": [],
54
+ "San Pedro": [],
55
+ "San Ramón": [],
56
+ "Santiago": [],
57
+ "Talagante": [],
58
+ "Tiltil": [],
59
+ "Vitacura": []
60
60
  }
61
61
  }
@@ -5,12 +5,12 @@
5
5
  "TA"
6
6
  ],
7
7
  "subdivisions": {
8
- "Alto Hospicio": {},
9
- "Camiña": {},
10
- "Colchane": {},
11
- "Huara": {},
12
- "Iquique": {},
13
- "Pica": {},
14
- "Pozo Almonte": {}
8
+ "Alto Hospicio": [],
9
+ "Camiña": [],
10
+ "Colchane": [],
11
+ "Huara": [],
12
+ "Iquique": [],
13
+ "Pica": [],
14
+ "Pozo Almonte": []
15
15
  }
16
16
  }
@@ -5,43 +5,43 @@
5
5
  "VS"
6
6
  ],
7
7
  "subdivisions": {
8
- "Algarrobo": {},
9
- "Cabildo": {},
10
- "Calle Larga": {},
11
- "Cartagena": {},
12
- "Casablanca": {},
13
- "Catemu": {},
14
- "Concón": {},
15
- "El Quisco": {},
16
- "El Tabo": {},
17
- "Hijuelas": {},
18
- "Isla de Pascua": {},
19
- "Juan Fernández": {},
20
- "La Calera": {},
21
- "La Cruz": {},
22
- "La Ligua": {},
23
- "Limache": {},
24
- "Llaillay": {},
25
- "Los Andes": {},
26
- "Nogales": {},
27
- "Olmué": {},
28
- "Panquehue": {},
29
- "Papudo": {},
30
- "Petorca": {},
31
- "Puchuncaví": {},
32
- "Putaendo": {},
33
- "Quillota": {},
34
- "Quilpué": {},
35
- "Quintero": {},
36
- "Rinconada": {},
37
- "San Antonio": {},
38
- "San Esteban": {},
39
- "San Felipe": {},
40
- "Santa María": {},
41
- "Santo Domingo": {},
42
- "Valparaíso": {},
43
- "Villa Alemana": {},
44
- "Viña del Mar": {},
45
- "Zapallar": {}
8
+ "Algarrobo": [],
9
+ "Cabildo": [],
10
+ "Calle Larga": [],
11
+ "Cartagena": [],
12
+ "Casablanca": [],
13
+ "Catemu": [],
14
+ "Concón": [],
15
+ "El Quisco": [],
16
+ "El Tabo": [],
17
+ "Hijuelas": [],
18
+ "Isla de Pascua": [],
19
+ "Juan Fernández": [],
20
+ "La Calera": [],
21
+ "La Cruz": [],
22
+ "La Ligua": [],
23
+ "Limache": [],
24
+ "Llaillay": [],
25
+ "Los Andes": [],
26
+ "Nogales": [],
27
+ "Olmué": [],
28
+ "Panquehue": [],
29
+ "Papudo": [],
30
+ "Petorca": [],
31
+ "Puchuncaví": [],
32
+ "Putaendo": [],
33
+ "Quillota": [],
34
+ "Quilpué": [],
35
+ "Quintero": [],
36
+ "Rinconada": [],
37
+ "San Antonio": [],
38
+ "San Esteban": [],
39
+ "San Felipe": [],
40
+ "Santa María": [],
41
+ "Santo Domingo": [],
42
+ "Valparaíso": [],
43
+ "Villa Alemana": [],
44
+ "Viña del Mar": [],
45
+ "Zapallar": []
46
46
  }
47
47
  }
@@ -78,7 +78,7 @@
78
78
  },
79
79
  "GUA": {
80
80
  "code": "GUA",
81
- "name": "Guanía",
81
+ "name": "Guainía",
82
82
  "postal_code_pattern": "94\\d{4}"
83
83
  },
84
84
  "GUV": {
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "country_code": "CV",
3
3
  "subdivisions": {
4
- "Boa Vista": {},
5
- "Brava": {},
6
- "Fogo": {},
7
- "Maio": {},
8
- "Sal": {},
9
- "Santiago": {},
10
- "Santo Antão": {},
11
- "São Nicolau": {},
12
- "São Vicente": {}
4
+ "Boa Vista": [],
5
+ "Brava": [],
6
+ "Fogo": [],
7
+ "Maio": [],
8
+ "Sal": [],
9
+ "Santiago": [],
10
+ "Santo Antão": [],
11
+ "São Nicolau": [],
12
+ "São Vicente": []
13
13
  }
14
14
  }