curp_generator 1.1.1 → 1.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.
- checksums.yaml +4 -4
- data/lib/{base.rb → curp_generator/base.rb} +2 -2
- data/lib/{birth_date.rb → curp_generator/birth_date.rb} +2 -2
- data/lib/curp_generator/catalogs.rb +224 -0
- data/lib/{curp.rb → curp_generator/curp.rb} +8 -8
- data/lib/{digit_verifier.rb → curp_generator/digit_verifier.rb} +3 -3
- data/lib/{gender.rb → curp_generator/gender.rb} +2 -2
- data/lib/{name.rb → curp_generator/name.rb} +2 -5
- data/lib/{state.rb → curp_generator/state.rb} +2 -2
- data/lib/curp_generator/version.rb +3 -0
- data/lib/curp_generator.rb +11 -1
- metadata +14 -13
- data/lib/catalogs.rb +0 -220
- data/lib/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23a6536eb11eef364862098a199c947844d24ba08c13ddc2e31df6fe9acfaecb
|
4
|
+
data.tar.gz: 573dace79ae348ef256cdfd44a385adf65e55f064c37a9a506502fbe3e003cc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e99a3ddac5e92cce4a9cc7c1a43226cea9ef6f8733e94554d2c330227cb74fe72646e3044b300ee3f7612c6821b358b346da09bdbab47b3193a6227d7d27ed5
|
7
|
+
data.tar.gz: ec6868d845384f7c2a84c802d6acc3757a48eec1514d9ec3d4d8c7a08f5ceb286dfc08c0dc1128674e4f6c1dacddf9c0ce1ab34cc92a7386dd620c9ca50af601
|
@@ -0,0 +1,224 @@
|
|
1
|
+
# rubocop:disable Metrics/ModuleLength
|
2
|
+
module CurpGenerator
|
3
|
+
module Catalogs
|
4
|
+
STATES = {
|
5
|
+
'AGUASCALIENTES' => 'AS',
|
6
|
+
'AG' => 'AS',
|
7
|
+
'AGU' => 'AS',
|
8
|
+
'BAJA CALIFORNIA NORTE' => 'BC',
|
9
|
+
'BC' => 'BC',
|
10
|
+
'BCN' => 'BC',
|
11
|
+
'BAJA CALIFORNIA SUR' => 'BS',
|
12
|
+
'BS' => 'BS',
|
13
|
+
'BCS' => 'BS',
|
14
|
+
'CAMPECHE' => 'CC',
|
15
|
+
'CM' => 'CC',
|
16
|
+
'CAM' => 'CC',
|
17
|
+
'CHIAPAS' => 'CS',
|
18
|
+
'CS' => 'CS',
|
19
|
+
'CHP' => 'CS',
|
20
|
+
'CHIHUAHUA' => 'CH',
|
21
|
+
'CH' => 'CH',
|
22
|
+
'CHH' => 'CH',
|
23
|
+
'COAHUILA' => 'CL',
|
24
|
+
'CO' => 'CL',
|
25
|
+
'COA' => 'CL',
|
26
|
+
'COLIMA' => 'CM',
|
27
|
+
'CL' => 'CM',
|
28
|
+
'COL' => 'CM',
|
29
|
+
'CIUDAD DE MEXICO' => 'DF',
|
30
|
+
'DF' => 'DF',
|
31
|
+
'CMX' => 'DF',
|
32
|
+
'CDMX' => 'DF',
|
33
|
+
'DURANGO' => 'DG',
|
34
|
+
'DG' => 'DG',
|
35
|
+
'DUR' => 'DG',
|
36
|
+
'GUANAJUATO' => 'GT',
|
37
|
+
'GT' => 'GT',
|
38
|
+
'GUA' => 'GT',
|
39
|
+
'GUERRERO' => 'GR',
|
40
|
+
'GR' => 'GR',
|
41
|
+
'GRO' => 'GR',
|
42
|
+
'HIDALGO' => 'HG',
|
43
|
+
'HG' => 'HG',
|
44
|
+
'HID' => 'HG',
|
45
|
+
'JALISCO' => 'JC',
|
46
|
+
'JA' => 'JC',
|
47
|
+
'JAL' => 'JC',
|
48
|
+
'MEXICO' => 'MC',
|
49
|
+
'EM' => 'MC',
|
50
|
+
'MEX' => 'MC',
|
51
|
+
'ESTADO DE MEXICO' => 'MC',
|
52
|
+
'MICHOACAN' => 'MN',
|
53
|
+
'MI' => 'MN',
|
54
|
+
'MIC' => 'MN',
|
55
|
+
'MORELOS' => 'MS',
|
56
|
+
'MO' => 'MS',
|
57
|
+
'MOR' => 'MS',
|
58
|
+
'NAYARIT' => 'NT',
|
59
|
+
'NA' => 'NT',
|
60
|
+
'NAY' => 'NT',
|
61
|
+
'NUEVO LEON' => 'NL',
|
62
|
+
'NL' => 'NL',
|
63
|
+
'NLE' => 'NL',
|
64
|
+
'OAXACA' => 'OC',
|
65
|
+
'OA' => 'OC',
|
66
|
+
'OAX' => 'OC',
|
67
|
+
'PUEBLA' => 'PL',
|
68
|
+
'PU' => 'PL',
|
69
|
+
'PUE' => 'PL',
|
70
|
+
'QUERETARO' => 'QT',
|
71
|
+
'QT' => 'QT',
|
72
|
+
'QUE' => 'QT',
|
73
|
+
'QUINTANA ROO' => 'QR',
|
74
|
+
'QR' => 'QR',
|
75
|
+
'ROO' => 'QR',
|
76
|
+
'SAN LUIS POTOSI' => 'SP',
|
77
|
+
'SL' => 'SP',
|
78
|
+
'SLP' => 'SP',
|
79
|
+
'SINALOA' => 'SL',
|
80
|
+
'SI' => 'SL',
|
81
|
+
'SIN' => 'SL',
|
82
|
+
'SONORA' => 'SR',
|
83
|
+
'SO' => 'SR',
|
84
|
+
'SON' => 'SR',
|
85
|
+
'TABASCO' => 'TC',
|
86
|
+
'TB' => 'TC',
|
87
|
+
'TAB' => 'TC',
|
88
|
+
'TAMAULIPAS' => 'TS',
|
89
|
+
'TM' => 'TS',
|
90
|
+
'TAM' => 'TS',
|
91
|
+
'TLAXCALA' => 'TL',
|
92
|
+
'TL' => 'TL',
|
93
|
+
'TLA' => 'TL',
|
94
|
+
'VERACRUZ' => 'VZ',
|
95
|
+
'VE' => 'VZ',
|
96
|
+
'VER' => 'VZ',
|
97
|
+
'YUCATAN' => 'YN',
|
98
|
+
'YU' => 'YN',
|
99
|
+
'YUC' => 'YN',
|
100
|
+
'ZACATECAS' => 'ZS',
|
101
|
+
'ZA' => 'ZS',
|
102
|
+
'ZAC' => 'ZS'
|
103
|
+
}.freeze
|
104
|
+
|
105
|
+
FORBIDDEN_WORDS = {
|
106
|
+
'BACA' => 'BXCA',
|
107
|
+
'LOCO' => 'LXCO',
|
108
|
+
'BAKA' => 'BXKA',
|
109
|
+
'BUEI' => 'BXEI',
|
110
|
+
'BUEY' => 'BXEY',
|
111
|
+
'CACA' => 'CXCA',
|
112
|
+
'CACO' => 'CXCO',
|
113
|
+
'CAGA' => 'CXGA',
|
114
|
+
'CAGO' => 'CXGO',
|
115
|
+
'CAKA' => 'CXKA',
|
116
|
+
'CAKO' => 'CXKO',
|
117
|
+
'COGE' => 'CXGE',
|
118
|
+
'COGI' => 'CXGI',
|
119
|
+
'COJA' => 'CXJA',
|
120
|
+
'COJE' => 'CXJE',
|
121
|
+
'COJI' => 'CXJI',
|
122
|
+
'COJO' => 'CXJO',
|
123
|
+
'COLA' => 'CXLA',
|
124
|
+
'CULO' => 'CXLO',
|
125
|
+
'FALO' => 'FXLO',
|
126
|
+
'FETO' => 'FXTO',
|
127
|
+
'GETA' => 'GXTA',
|
128
|
+
'GUEI' => 'GXEI',
|
129
|
+
'GUEY' => 'GXEY',
|
130
|
+
'JETA' => 'JXTA',
|
131
|
+
'JOTO' => 'JXTO',
|
132
|
+
'KACA' => 'KXCA',
|
133
|
+
'KACO' => 'KXCO',
|
134
|
+
'KAGA' => 'KXGA',
|
135
|
+
'KAGO' => 'KXGO',
|
136
|
+
'KAKA' => 'KXKA',
|
137
|
+
'KAKO' => 'KXKO',
|
138
|
+
'KOGE' => 'KXGE',
|
139
|
+
'KOGI' => 'KXGI',
|
140
|
+
'KOJA' => 'KXJA',
|
141
|
+
'KOJE' => 'KXJE',
|
142
|
+
'KOJI' => 'KXJI',
|
143
|
+
'KOJO' => 'KXJO',
|
144
|
+
'KOLA' => 'KXLA',
|
145
|
+
'KULO' => 'KXLO',
|
146
|
+
'LILO' => 'LXLO',
|
147
|
+
'LOKA' => 'LXKA',
|
148
|
+
'LOKO' => 'LXKO',
|
149
|
+
'MAME' => 'MXME',
|
150
|
+
'MAMO' => 'MXMO',
|
151
|
+
'MEAR' => 'MXAR',
|
152
|
+
'MEAS' => 'MXAS',
|
153
|
+
'MEON' => 'MXON',
|
154
|
+
'MIAR' => 'MXAR',
|
155
|
+
'MION' => 'MXON',
|
156
|
+
'MOCO' => 'MXCO',
|
157
|
+
'MOKO' => 'MXKO',
|
158
|
+
'MULA' => 'MXLA',
|
159
|
+
'MULO' => 'MXLO',
|
160
|
+
'NACA' => 'NXCA',
|
161
|
+
'NACO' => 'NXCO',
|
162
|
+
'PEDA' => 'PXDA',
|
163
|
+
'PEDO' => 'PXDO',
|
164
|
+
'PENE' => 'PXNE',
|
165
|
+
'PIPI' => 'PXPI',
|
166
|
+
'PITO' => 'PXTO',
|
167
|
+
'POPO' => 'PXPO',
|
168
|
+
'PUTA' => 'PXTA',
|
169
|
+
'PUTO' => 'PXTO',
|
170
|
+
'QULO' => 'QXLO',
|
171
|
+
'RATA' => 'RXTA',
|
172
|
+
'ROBA' => 'RXBA',
|
173
|
+
'ROBE' => 'RXBE',
|
174
|
+
'ROBO' => 'RXBO',
|
175
|
+
'RUIN' => 'RXIN',
|
176
|
+
'SENO' => 'SXNO',
|
177
|
+
'TETA' => 'TXTA',
|
178
|
+
'VACA' => 'VXCA',
|
179
|
+
'VAGA' => 'VXGA',
|
180
|
+
'VAGO' => 'VXGO',
|
181
|
+
'VAKA' => 'VXKA',
|
182
|
+
'VUEI' => 'VXEI',
|
183
|
+
'VUEY' => 'VXEY',
|
184
|
+
'WUEI' => 'WXEI',
|
185
|
+
'WUEY' => 'WXEY'
|
186
|
+
}.freeze
|
187
|
+
|
188
|
+
COMMON_NAMES = [
|
189
|
+
'MARIA DEL',
|
190
|
+
'MARIA DE LOS',
|
191
|
+
'MARIA',
|
192
|
+
'JOSE DE',
|
193
|
+
'JOSE',
|
194
|
+
'MA.',
|
195
|
+
'MA',
|
196
|
+
'M.',
|
197
|
+
'J.',
|
198
|
+
'J'
|
199
|
+
].freeze
|
200
|
+
|
201
|
+
COMPOSED_NAMES = [
|
202
|
+
'DA ',
|
203
|
+
'DAS ',
|
204
|
+
'DE ',
|
205
|
+
'DEL ',
|
206
|
+
'DER ',
|
207
|
+
'DI ',
|
208
|
+
'DIE ',
|
209
|
+
'DD ',
|
210
|
+
'EL ',
|
211
|
+
'LA ',
|
212
|
+
'LOS ',
|
213
|
+
'LAS ',
|
214
|
+
'LE ',
|
215
|
+
'LES ',
|
216
|
+
'MAC ',
|
217
|
+
'MC ',
|
218
|
+
'VAN ',
|
219
|
+
'VON ',
|
220
|
+
'Y '
|
221
|
+
].freeze
|
222
|
+
end
|
223
|
+
end
|
224
|
+
# rubocop:enable Metrics/ModuleLength
|
@@ -1,13 +1,13 @@
|
|
1
|
-
require '
|
2
|
-
require 'catalogs'
|
3
|
-
require '
|
4
|
-
require '
|
5
|
-
require '
|
6
|
-
require '
|
7
|
-
require '
|
1
|
+
require 'curp_generator/birth_date'
|
2
|
+
require 'curp_generator/catalogs'
|
3
|
+
require 'curp_generator/digit_verifier'
|
4
|
+
require 'curp_generator/gender'
|
5
|
+
require 'curp_generator/name'
|
6
|
+
require 'curp_generator/state'
|
7
|
+
require 'curp_generator/version'
|
8
8
|
|
9
9
|
class CurpGenerator::Curp
|
10
|
-
include CurpGenerator::Catalogs
|
10
|
+
include ::CurpGenerator::Catalogs
|
11
11
|
|
12
12
|
InvalidArgumentError = Class.new(StandardError)
|
13
13
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require 'base'
|
1
|
+
require 'curp_generator/base'
|
2
2
|
|
3
|
-
class CurpGenerator::DigitVerifier < CurpGenerator::Base
|
3
|
+
class CurpGenerator::DigitVerifier < ::CurpGenerator::Base
|
4
4
|
VALID_CHARACTERS = '0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ'.freeze
|
5
5
|
|
6
6
|
def initialize(partial_curp)
|
@@ -34,7 +34,7 @@ class CurpGenerator::DigitVerifier < CurpGenerator::Base
|
|
34
34
|
def verifying_digit
|
35
35
|
length_sum = 0.0
|
36
36
|
|
37
|
-
@partial_curp.
|
37
|
+
@partial_curp.chars.each_with_index do |character, index|
|
38
38
|
length_sum += VALID_CHARACTERS.index(character) * (18 - index)
|
39
39
|
end
|
40
40
|
|
@@ -1,9 +1,6 @@
|
|
1
|
-
require 'base'
|
2
|
-
require 'catalogs'
|
3
|
-
|
4
|
-
class CurpGenerator::Name < CurpGenerator::Base
|
5
|
-
include CurpGenerator::Catalogs
|
1
|
+
require 'curp_generator/base'
|
6
2
|
|
3
|
+
class CurpGenerator::Name < ::CurpGenerator::Base
|
7
4
|
def initialize(first_name, second_name, first_last_name, second_last_name)
|
8
5
|
@first_name = parse_attribute(first_name&.upcase)
|
9
6
|
@second_name = parse_attribute(second_name&.upcase)
|
data/lib/curp_generator.rb
CHANGED
@@ -1 +1,11 @@
|
|
1
|
-
require '
|
1
|
+
require 'curp_generator/base'
|
2
|
+
require 'curp_generator/birth_date'
|
3
|
+
require 'curp_generator/catalogs'
|
4
|
+
require 'curp_generator/curp'
|
5
|
+
require 'curp_generator/digit_verifier'
|
6
|
+
require 'curp_generator/gender'
|
7
|
+
require 'curp_generator/name'
|
8
|
+
require 'curp_generator/state'
|
9
|
+
require 'curp_generator/version'
|
10
|
+
|
11
|
+
module CurpGenerator; end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curp_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Carlos Estebes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-11-26 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email:
|
@@ -17,23 +17,24 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
- lib/base.rb
|
21
|
-
- lib/birth_date.rb
|
22
|
-
- lib/catalogs.rb
|
23
|
-
- lib/curp.rb
|
24
20
|
- lib/curp_generator.rb
|
25
|
-
- lib/
|
26
|
-
- lib/
|
27
|
-
- lib/
|
28
|
-
- lib/
|
29
|
-
- lib/
|
21
|
+
- lib/curp_generator/base.rb
|
22
|
+
- lib/curp_generator/birth_date.rb
|
23
|
+
- lib/curp_generator/catalogs.rb
|
24
|
+
- lib/curp_generator/curp.rb
|
25
|
+
- lib/curp_generator/digit_verifier.rb
|
26
|
+
- lib/curp_generator/gender.rb
|
27
|
+
- lib/curp_generator/name.rb
|
28
|
+
- lib/curp_generator/state.rb
|
29
|
+
- lib/curp_generator/version.rb
|
30
30
|
homepage: https://github.com/yotepresto-com/curp-generator
|
31
31
|
licenses:
|
32
32
|
- MIT
|
33
33
|
metadata:
|
34
|
+
rubygems_mfa_required: 'true'
|
34
35
|
homepage_uri: https://github.com/yotepresto-com/curp-generator
|
35
36
|
source_code_uri: https://github.com/yotepresto-com/curp-generator
|
36
|
-
changelog_uri: https://github.com/yotepresto-com/curp-generator/CHANGELOG.md
|
37
|
+
changelog_uri: https://github.com/yotepresto-com/curp-generator/blob/main/CHANGELOG.md
|
37
38
|
post_install_message:
|
38
39
|
rdoc_options: []
|
39
40
|
require_paths:
|
@@ -49,7 +50,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
49
50
|
- !ruby/object:Gem::Version
|
50
51
|
version: '0'
|
51
52
|
requirements: []
|
52
|
-
rubygems_version: 3.
|
53
|
+
rubygems_version: 3.4.10
|
53
54
|
signing_key:
|
54
55
|
specification_version: 4
|
55
56
|
summary: Generates a mexican CURP given the information of a person
|
data/lib/catalogs.rb
DELETED
@@ -1,220 +0,0 @@
|
|
1
|
-
module CurpGenerator::Catalogs
|
2
|
-
STATES = {
|
3
|
-
'AGUASCALIENTES' => 'AS',
|
4
|
-
'AG' => 'AS',
|
5
|
-
'AGU' => 'AS',
|
6
|
-
'BAJA CALIFORNIA NORTE' => 'BC',
|
7
|
-
'BC' => 'BC',
|
8
|
-
'BCN' => 'BC',
|
9
|
-
'BAJA CALIFORNIA SUR' => 'BS',
|
10
|
-
'BS' => 'BS',
|
11
|
-
'BCS' => 'BS',
|
12
|
-
'CAMPECHE' => 'CC',
|
13
|
-
'CM' => 'CC',
|
14
|
-
'CAM' => 'CC',
|
15
|
-
'CHIAPAS' => 'CS',
|
16
|
-
'CS' => 'CS',
|
17
|
-
'CHP' => 'CS',
|
18
|
-
'CHIHUAHUA' => 'CH',
|
19
|
-
'CH' => 'CH',
|
20
|
-
'CHH' => 'CH',
|
21
|
-
'COAHUILA' => 'CL',
|
22
|
-
'CO' => 'CL',
|
23
|
-
'COA' => 'CL',
|
24
|
-
'COLIMA' => 'CM',
|
25
|
-
'CL' => 'CM',
|
26
|
-
'COL' => 'CM',
|
27
|
-
'CIUDAD DE MEXICO' => 'DF',
|
28
|
-
'DF' => 'DF',
|
29
|
-
'CMX' => 'DF',
|
30
|
-
'CDMX' => 'DF',
|
31
|
-
'DURANGO' => 'DG',
|
32
|
-
'DG' => 'DG',
|
33
|
-
'DUR' => 'DG',
|
34
|
-
'GUANAJUATO' => 'GT',
|
35
|
-
'GT' => 'GT',
|
36
|
-
'GUA' => 'GT',
|
37
|
-
'GUERRERO' => 'GR',
|
38
|
-
'GR' => 'GR',
|
39
|
-
'GRO' => 'GR',
|
40
|
-
'HIDALGO' => 'HG',
|
41
|
-
'HG' => 'HG',
|
42
|
-
'HID' => 'HG',
|
43
|
-
'JALISCO' => 'JC',
|
44
|
-
'JA' => 'JC',
|
45
|
-
'JAL' => 'JC',
|
46
|
-
'MEXICO' => 'MC',
|
47
|
-
'EM' => 'MC',
|
48
|
-
'MEX' => 'MC',
|
49
|
-
'ESTADO DE MEXICO' => 'MC',
|
50
|
-
'MICHOACAN' => 'MN',
|
51
|
-
'MI' => 'MN',
|
52
|
-
'MIC' => 'MN',
|
53
|
-
'MORELOS' => 'MS',
|
54
|
-
'MO' => 'MS',
|
55
|
-
'MOR' => 'MS',
|
56
|
-
'NAYARIT' => 'NT',
|
57
|
-
'NA' => 'NT',
|
58
|
-
'NAY' => 'NT',
|
59
|
-
'NUEVO LEON' => 'NL',
|
60
|
-
'NL' => 'NL',
|
61
|
-
'NLE' => 'NL',
|
62
|
-
'OAXACA' => 'OC',
|
63
|
-
'OA' => 'OC',
|
64
|
-
'OAX' => 'OC',
|
65
|
-
'PUEBLA' => 'PL',
|
66
|
-
'PU' => 'PL',
|
67
|
-
'PUE' => 'PL',
|
68
|
-
'QUERETARO' => 'QT',
|
69
|
-
'QT' => 'QT',
|
70
|
-
'QUE' => 'QT',
|
71
|
-
'QUINTANA ROO' => 'QR',
|
72
|
-
'QR' => 'QR',
|
73
|
-
'ROO' => 'QR',
|
74
|
-
'SAN LUIS POTOSI' => 'SP',
|
75
|
-
'SL' => 'SP',
|
76
|
-
'SLP' => 'SP',
|
77
|
-
'SINALOA' => 'SL',
|
78
|
-
'SI' => 'SL',
|
79
|
-
'SIN' => 'SL',
|
80
|
-
'SONORA' => 'SR',
|
81
|
-
'SO' => 'SR',
|
82
|
-
'SON' => 'SR',
|
83
|
-
'TABASCO' => 'TC',
|
84
|
-
'TB' => 'TC',
|
85
|
-
'TAB' => 'TC',
|
86
|
-
'TAMAULIPAS' => 'TS',
|
87
|
-
'TM' => 'TS',
|
88
|
-
'TAM' => 'TS',
|
89
|
-
'TLAXCALA' => 'TL',
|
90
|
-
'TL' => 'TL',
|
91
|
-
'TLA' => 'TL',
|
92
|
-
'VERACRUZ' => 'VZ',
|
93
|
-
'VE' => 'VZ',
|
94
|
-
'VER' => 'VZ',
|
95
|
-
'YUCATAN' => 'YN',
|
96
|
-
'YU' => 'YN',
|
97
|
-
'YUC' => 'YN',
|
98
|
-
'ZACATECAS' => 'ZS',
|
99
|
-
'ZA' => 'ZS',
|
100
|
-
'ZAC' => 'ZS'
|
101
|
-
}.freeze
|
102
|
-
|
103
|
-
FORBIDDEN_WORDS = {
|
104
|
-
'BACA' => 'BXCA',
|
105
|
-
'LOCO' => 'LXCO',
|
106
|
-
'BAKA' => 'BXKA',
|
107
|
-
'BUEI' => 'BXEI',
|
108
|
-
'BUEY' => 'BXEY',
|
109
|
-
'CACA' => 'CXCA',
|
110
|
-
'CACO' => 'CXCO',
|
111
|
-
'CAGA' => 'CXGA',
|
112
|
-
'CAGO' => 'CXGO',
|
113
|
-
'CAKA' => 'CXKA',
|
114
|
-
'CAKO' => 'CXKO',
|
115
|
-
'COGE' => 'CXGE',
|
116
|
-
'COGI' => 'CXGI',
|
117
|
-
'COJA' => 'CXJA',
|
118
|
-
'COJE' => 'CXJE',
|
119
|
-
'COJI' => 'CXJI',
|
120
|
-
'COJO' => 'CXJO',
|
121
|
-
'COLA' => 'CXLA',
|
122
|
-
'CULO' => 'CXLO',
|
123
|
-
'FALO' => 'FXLO',
|
124
|
-
'FETO' => 'FXTO',
|
125
|
-
'GETA' => 'GXTA',
|
126
|
-
'GUEI' => 'GXEI',
|
127
|
-
'GUEY' => 'GXEY',
|
128
|
-
'JETA' => 'JXTA',
|
129
|
-
'JOTO' => 'JXTO',
|
130
|
-
'KACA' => 'KXCA',
|
131
|
-
'KACO' => 'KXCO',
|
132
|
-
'KAGA' => 'KXGA',
|
133
|
-
'KAGO' => 'KXGO',
|
134
|
-
'KAKA' => 'KXKA',
|
135
|
-
'KAKO' => 'KXKO',
|
136
|
-
'KOGE' => 'KXGE',
|
137
|
-
'KOGI' => 'KXGI',
|
138
|
-
'KOJA' => 'KXJA',
|
139
|
-
'KOJE' => 'KXJE',
|
140
|
-
'KOJI' => 'KXJI',
|
141
|
-
'KOJO' => 'KXJO',
|
142
|
-
'KOLA' => 'KXLA',
|
143
|
-
'KULO' => 'KXLO',
|
144
|
-
'LILO' => 'LXLO',
|
145
|
-
'LOKA' => 'LXKA',
|
146
|
-
'LOKO' => 'LXKO',
|
147
|
-
'MAME' => 'MXME',
|
148
|
-
'MAMO' => 'MXMO',
|
149
|
-
'MEAR' => 'MXAR',
|
150
|
-
'MEAS' => 'MXAS',
|
151
|
-
'MEON' => 'MXON',
|
152
|
-
'MIAR' => 'MXAR',
|
153
|
-
'MION' => 'MXON',
|
154
|
-
'MOCO' => 'MXCO',
|
155
|
-
'MOKO' => 'MXKO',
|
156
|
-
'MULA' => 'MXLA',
|
157
|
-
'MULO' => 'MXLO',
|
158
|
-
'NACA' => 'NXCA',
|
159
|
-
'NACO' => 'NXCO',
|
160
|
-
'PEDA' => 'PXDA',
|
161
|
-
'PEDO' => 'PXDO',
|
162
|
-
'PENE' => 'PXNE',
|
163
|
-
'PIPI' => 'PXPI',
|
164
|
-
'PITO' => 'PXTO',
|
165
|
-
'POPO' => 'PXPO',
|
166
|
-
'PUTA' => 'PXTA',
|
167
|
-
'PUTO' => 'PXTO',
|
168
|
-
'QULO' => 'QXLO',
|
169
|
-
'RATA' => 'RXTA',
|
170
|
-
'ROBA' => 'RXBA',
|
171
|
-
'ROBE' => 'RXBE',
|
172
|
-
'ROBO' => 'RXBO',
|
173
|
-
'RUIN' => 'RXIN',
|
174
|
-
'SENO' => 'SXNO',
|
175
|
-
'TETA' => 'TXTA',
|
176
|
-
'VACA' => 'VXCA',
|
177
|
-
'VAGA' => 'VXGA',
|
178
|
-
'VAGO' => 'VXGO',
|
179
|
-
'VAKA' => 'VXKA',
|
180
|
-
'VUEI' => 'VXEI',
|
181
|
-
'VUEY' => 'VXEY',
|
182
|
-
'WUEI' => 'WXEI',
|
183
|
-
'WUEY' => 'WXEY'
|
184
|
-
}.freeze
|
185
|
-
|
186
|
-
COMMON_NAMES = [
|
187
|
-
'MARIA DEL',
|
188
|
-
'MARIA DE LOS',
|
189
|
-
'MARIA',
|
190
|
-
'JOSE DE',
|
191
|
-
'JOSE',
|
192
|
-
'MA.',
|
193
|
-
'MA',
|
194
|
-
'M.',
|
195
|
-
'J.',
|
196
|
-
'J'
|
197
|
-
].freeze
|
198
|
-
|
199
|
-
COMPOSED_NAMES = [
|
200
|
-
'DA ',
|
201
|
-
'DAS ',
|
202
|
-
'DE ',
|
203
|
-
'DEL ',
|
204
|
-
'DER ',
|
205
|
-
'DI ',
|
206
|
-
'DIE ',
|
207
|
-
'DD ',
|
208
|
-
'EL ',
|
209
|
-
'LA ',
|
210
|
-
'LOS ',
|
211
|
-
'LAS ',
|
212
|
-
'LE ',
|
213
|
-
'LES ',
|
214
|
-
'MAC ',
|
215
|
-
'MC ',
|
216
|
-
'VAN ',
|
217
|
-
'VON ',
|
218
|
-
'Y '
|
219
|
-
].freeze
|
220
|
-
end
|
data/lib/version.rb
DELETED