itax_code 0.2.0 → 0.4.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/.github/workflows/lint.yml +10 -8
- data/.github/workflows/release.yml +35 -0
- data/.github/workflows/test.yml +10 -7
- data/.gitignore +2 -0
- data/.rubocop.yml +11 -4
- data/CHANGELOG.md +25 -0
- data/Gemfile +12 -0
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/bin/release +3 -3
- data/itax_code.gemspec +3 -10
- data/lib/itax_code/data/cities.csv +19306 -13832
- data/lib/itax_code/data/countries.csv +277 -277
- data/lib/itax_code/encoder.rb +3 -4
- data/lib/itax_code/omocode.rb +23 -12
- data/lib/itax_code/parser.rb +48 -38
- data/lib/itax_code/utils.rb +18 -19
- data/lib/itax_code/validator.rb +2 -0
- data/lib/itax_code/version.rb +3 -1
- data/lib/itax_code.rb +2 -0
- data/rakelib/cities.rake +35 -0
- metadata +11 -121
- data/.github/workflows/build-and-push.yml +0 -27
- data/Gemfile.lock +0 -74
@@ -1,277 +1,277 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
1
|
+
code,province,name
|
2
|
+
Z100,EE,ALBANIA
|
3
|
+
Z101,EE,ANDORRA
|
4
|
+
Z102,EE,AUSTRIA
|
5
|
+
Z103,EE,BELGIO
|
6
|
+
Z104,EE,BULGARIA
|
7
|
+
Z105,EE,CECOSLOVACCHIA
|
8
|
+
Z106,EE,CITTA DEL VATICANO / VATICANO
|
9
|
+
Z107,EE,DANIMARCA
|
10
|
+
Z108,EE,FAER OER
|
11
|
+
Z109,EE,FINLANDIA
|
12
|
+
Z110,EE,FRANCIA
|
13
|
+
Z111,EE,GERMANIA REP. DEMOCRATICA
|
14
|
+
Z112,EE,GERMANIA REP. FEDERALE / GERMANIA
|
15
|
+
Z113,EE,GIBILTERRA
|
16
|
+
Z114,EE,GRAN BRETAGNA
|
17
|
+
Z115,EE,GRECIA
|
18
|
+
Z116,EE,IRLANDA
|
19
|
+
Z117,EE,ISLANDA
|
20
|
+
Z118,EE,IUGOSLAVIA
|
21
|
+
Z119,EE,LIECHTENSTEIN
|
22
|
+
Z120,EE,LUSSEMBURGO
|
23
|
+
Z121,EE,MALTA
|
24
|
+
Z122,EE,MAN
|
25
|
+
Z123,EE,MONACO
|
26
|
+
Z124,EE,NORMANNE
|
27
|
+
Z125,EE,NORVEGIA
|
28
|
+
Z126,EE,PAESI BASSI
|
29
|
+
Z127,EE,POLONIA
|
30
|
+
Z128,EE,PORTOGALLO
|
31
|
+
Z129,EE,ROMANIA
|
32
|
+
Z130,EE,SAN MARINO
|
33
|
+
Z131,EE,SPAGNA
|
34
|
+
Z132,EE,SVEZIA
|
35
|
+
Z133,EE,SVIZZERA
|
36
|
+
Z134,EE,UNGHERIA
|
37
|
+
Z135,EE,URSS
|
38
|
+
Z136,EE,GEORGIA
|
39
|
+
Z137,EE,ARMENIA
|
40
|
+
Z138,EE,UCRAINA
|
41
|
+
Z139,EE,BIELORUSSIA
|
42
|
+
Z140,EE,MOLDAVIA
|
43
|
+
Z141,EE,AZERBAIDJAN
|
44
|
+
Z142,EE,KIRGHIZISTAN
|
45
|
+
Z143,EE,UZBEKISTAN
|
46
|
+
Z144,EE,ESTONIA
|
47
|
+
Z145,EE,LETTONIA
|
48
|
+
Z146,EE,LITUANIA
|
49
|
+
Z147,EE,TAGIKISTAN
|
50
|
+
Z148,EE,MACEDONIA
|
51
|
+
Z149,EE,CROAZIA
|
52
|
+
Z150,EE,SLOVENIA
|
53
|
+
Z151,EE,TURKEMENISTAN
|
54
|
+
Z152,EE,KAZAKISTAN
|
55
|
+
Z153,EE,BOSNIA ED ERZEGOVINA / BOSNIA ERZEGOVINA
|
56
|
+
Z154,EE,RUSSIA / FEDERAZIONE RUSSA
|
57
|
+
Z155,EE,REPUBBLICA SLOVACCA
|
58
|
+
Z156,EE,REPUBBLICA CECA
|
59
|
+
Z200,EE,AFGHANISTAN
|
60
|
+
Z201,EE,ARABIA MERIDIONALE
|
61
|
+
Z202,EE,PROTETTORATO DELLA ARABIA MERIDIONALE
|
62
|
+
Z203,EE,ARABIA SAUDITA
|
63
|
+
Z204,EE,BAHREIN
|
64
|
+
Z205,EE,BHUTAN
|
65
|
+
Z206,EE,BIRMANIA
|
66
|
+
Z207,EE,BRUNEI
|
67
|
+
Z208,EE,CAMBOGIA
|
68
|
+
Z209,EE,SRI LANKA
|
69
|
+
Z210,EE,CINA REPUBBLICA POPOLARE / CINA / CHINA
|
70
|
+
Z211,EE,CIPRO
|
71
|
+
Z212,EE,COCOS
|
72
|
+
Z213,EE,REPUBBLICA DI COREA
|
73
|
+
Z214,EE,COREA REPUBBLICA POPOLARE
|
74
|
+
Z215,EE,EMIRATI ARABI UNITI
|
75
|
+
Z216,EE,FILIPPINE
|
76
|
+
Z217,EE,CINA REPUBBLICA NAZIONALE
|
77
|
+
Z218,EE,TERRITORIO DI GAZA
|
78
|
+
Z219,EE,GIAPPONE
|
79
|
+
Z220,EE,GIORDANIA
|
80
|
+
Z221,EE,HONG KONG
|
81
|
+
Z222,EE,INDIA
|
82
|
+
Z223,EE,INDONESIA
|
83
|
+
Z224,EE,IRAN
|
84
|
+
Z225,EE,IRAQ
|
85
|
+
Z226,EE,ISRAELE
|
86
|
+
Z227,EE,KUWAIT
|
87
|
+
Z228,EE,LAOS
|
88
|
+
Z229,EE,LIBANO
|
89
|
+
Z230,EE,MALESIA
|
90
|
+
Z231,EE,MACAO
|
91
|
+
Z232,EE,MALDIVE
|
92
|
+
Z233,EE,MONGOLIA REP. POPOLARE
|
93
|
+
Z234,EE,NEPAL
|
94
|
+
Z235,EE,OMAN
|
95
|
+
Z236,EE,PAKISTAN
|
96
|
+
Z237,EE,QATAR
|
97
|
+
Z238,EE,RYUKYU
|
98
|
+
Z239,EE,SIKKIM
|
99
|
+
Z240,EE,SIRIA
|
100
|
+
Z241,EE,THAILANDIA
|
101
|
+
Z242,EE,TIMOR
|
102
|
+
Z243,EE,TURCHIA
|
103
|
+
Z244,EE,VIETNAM DEL SUD
|
104
|
+
Z245,EE,VIETNAM DEL NORD
|
105
|
+
Z246,EE,YEMEN
|
106
|
+
Z247,EE,MALAYSIA
|
107
|
+
Z248,EE,SINGAPORE
|
108
|
+
Z249,EE,BANGLADESH
|
109
|
+
Z250,EE,YEMEN REP. DEM. POPOLARE
|
110
|
+
Z251,EE,VIETNAM
|
111
|
+
Z300,EE,NAMIBIA
|
112
|
+
Z301,EE,ALGERIA
|
113
|
+
Z302,EE,ANGOLA
|
114
|
+
Z303,EE,BASUTOLAND SUD AFRICA BRITANNICO
|
115
|
+
Z304,EE,BECIUANIA SUD AFRICA BRITANNICO
|
116
|
+
Z305,EE,BURUNDI
|
117
|
+
Z306,EE,CAMERUN
|
118
|
+
Z307,EE,CAPO VERDE
|
119
|
+
Z308,EE,IMPERO CENTROAFRICANO
|
120
|
+
Z309,EE,CIAD
|
121
|
+
Z310,EE,COMORE
|
122
|
+
Z311,EE,CONGO REPUBBLICA POPOLARE
|
123
|
+
Z312,EE,ZAIRE
|
124
|
+
Z313,EE,COSTA D'AVORIO
|
125
|
+
Z314,EE,BENIN
|
126
|
+
Z315,EE,ETIOPIA
|
127
|
+
Z316,EE,GABON
|
128
|
+
Z317,EE,GAMBIA
|
129
|
+
Z318,EE,GHANA
|
130
|
+
Z319,EE,GUINEA
|
131
|
+
Z320,EE,GUINEA BISSAU
|
132
|
+
Z321,EE,GUINEA EQUATORIALE
|
133
|
+
Z322,EE,KENYA
|
134
|
+
Z323,EE,IFNI
|
135
|
+
Z324,EE,LA REUNION
|
136
|
+
Z325,EE,LIBERIA
|
137
|
+
Z326,EE,LIBIA
|
138
|
+
Z327,EE,MADAGASCAR
|
139
|
+
Z328,EE,MALAWI
|
140
|
+
Z329,EE,MALI
|
141
|
+
Z330,EE,MAROCCO
|
142
|
+
Z331,EE,MAURITANIA
|
143
|
+
Z332,EE,MAURIZIO
|
144
|
+
Z333,EE,MOZAMBICO
|
145
|
+
Z334,EE,NIGER
|
146
|
+
Z335,EE,NIGERIA
|
147
|
+
Z336,EE,EGITTO
|
148
|
+
Z337,EE,ZIMBABWE
|
149
|
+
Z338,EE,RUANDA
|
150
|
+
Z339,EE,SAHARA SPAGNOLO
|
151
|
+
Z340,EE,SANT ELENA
|
152
|
+
Z341,EE,PRINCIPE
|
153
|
+
Z342,EE,SEICELLE
|
154
|
+
Z343,EE,SENEGAL
|
155
|
+
Z344,EE,SIERRA LEONE
|
156
|
+
Z345,EE,SOMALIA
|
157
|
+
Z346,EE,SOMALIA FRANCESE
|
158
|
+
Z347,EE,REPUBBLICA SUDAFRICANA
|
159
|
+
Z348,EE,SUDAN
|
160
|
+
Z349,EE,SWAZILAND
|
161
|
+
Z350,EE,TANGANICA
|
162
|
+
Z351,EE,TOGO
|
163
|
+
Z352,EE,TUNISIA
|
164
|
+
Z353,EE,UGANDA
|
165
|
+
Z354,EE,BURKINA FASO
|
166
|
+
Z355,EE,ZAMBIA
|
167
|
+
Z356,EE,ZANZIBAR
|
168
|
+
Z357,EE,TANZANIA
|
169
|
+
Z358,EE,BOTSWANA
|
170
|
+
Z359,EE,LESOTHO
|
171
|
+
Z360,EE,MAYOTTE
|
172
|
+
Z361,EE,GIBUTI
|
173
|
+
Z362,EE,SAHARA MERIDIONALE
|
174
|
+
Z363,EE,SAHARA SETTENTRIONALE
|
175
|
+
Z364,EE,BOPHUTHATSWANA
|
176
|
+
Z365,EE,TRANSKEI
|
177
|
+
Z366,EE,VENDA
|
178
|
+
Z367,EE,CISKEI
|
179
|
+
Z368,EE,ERITREA
|
180
|
+
Z400,EE,BERMUDE
|
181
|
+
Z401,EE,CANADA
|
182
|
+
Z402,EE,GROENLANDIA
|
183
|
+
Z403,EE,SAINT PIERRE ET MIQUELON
|
184
|
+
Z404,EE,STATI UNITI D'AMERICA
|
185
|
+
Z500,EE,ANTILLE BRITANNICHE
|
186
|
+
Z501,EE,ANTILLE OLANDESI
|
187
|
+
Z502,EE,BAHAMA
|
188
|
+
Z503,EE,COSTA RICA
|
189
|
+
Z504,EE,CUBA
|
190
|
+
Z505,EE,REPUBBLICA DOMINICANA
|
191
|
+
Z506,EE,EL SALVADOR
|
192
|
+
Z507,EE,GIAMAICA
|
193
|
+
Z508,EE,GUADALUPA
|
194
|
+
Z509,EE,GUATEMALA
|
195
|
+
Z510,EE,HAITI
|
196
|
+
Z511,EE,HONDURAS
|
197
|
+
Z512,EE,BELIZE
|
198
|
+
Z513,EE,MARTINICA
|
199
|
+
Z514,EE,MESSICO
|
200
|
+
Z515,EE,NICARAGUA
|
201
|
+
Z516,EE,PANAMA
|
202
|
+
Z517,EE,PANAMA ZONA DEL CANALE
|
203
|
+
Z518,EE,PUERTO RICO
|
204
|
+
Z519,EE,TURKS
|
205
|
+
Z520,EE,ISOLE VERGINI
|
206
|
+
Z522,EE,BARBADOS
|
207
|
+
Z523,EE,ANTILLE BRITANNICHE
|
208
|
+
Z524,EE,GRENADA
|
209
|
+
Z525,EE,ISOLE VERGINI BRITANNICHE
|
210
|
+
Z526,EE,DOMINICA
|
211
|
+
Z527,EE,SAINT LUCIA
|
212
|
+
Z528,EE,SAINT VINCENT E GRENADINE
|
213
|
+
Z529,EE,ISOLA ANGUILLA
|
214
|
+
Z530,EE,ISOLE CAYMAN
|
215
|
+
Z531,EE,MONTSERRAT
|
216
|
+
Z532,EE,ANTIGUE E BARBUDA
|
217
|
+
Z533,EE,SAINT KITTS E NEVIS
|
218
|
+
Z600,EE,ARGENTINA
|
219
|
+
Z601,EE,BOLIVIA
|
220
|
+
Z602,EE,BRASILE
|
221
|
+
Z603,EE,CILE
|
222
|
+
Z604,EE,COLOMBIA
|
223
|
+
Z605,EE,ECUADOR
|
224
|
+
Z606,EE,REPUBBLICA DELLA GUAYANA
|
225
|
+
Z607,EE,GUAYANA FRANCESE
|
226
|
+
Z608,EE,SURINAME
|
227
|
+
Z609,EE,MALVINE
|
228
|
+
Z610,EE,PARAGUAY
|
229
|
+
Z611,EE,PERU
|
230
|
+
Z612,EE,TRINIDAD E TOBAGO
|
231
|
+
Z613,EE,URUGUAY
|
232
|
+
Z614,EE,VENEZUELA
|
233
|
+
Z700,EE,AUSTRALIA
|
234
|
+
Z701,EE,CAROLINE
|
235
|
+
Z702,EE,CHRISTMAS
|
236
|
+
Z703,EE,COOK
|
237
|
+
Z704,EE,FIGI O VITI
|
238
|
+
Z705,EE,ELLICE
|
239
|
+
Z706,EE,GUAM
|
240
|
+
Z707,EE,IRIAN OCCIDENTALE
|
241
|
+
Z708,EE,MACQUARIE
|
242
|
+
Z709,EE,MARCUS
|
243
|
+
Z710,EE,MARIANNE
|
244
|
+
Z711,EE,MARSHALL
|
245
|
+
Z712,EE,MIDWAY
|
246
|
+
Z713,EE,NAURU
|
247
|
+
Z714,EE,SAVAGE
|
248
|
+
Z715,EE,NORFOLK
|
249
|
+
Z716,EE,NUOVA CALEDONIA
|
250
|
+
Z717,EE,NUOVE EBRIDI
|
251
|
+
Z718,EE,NUOVA GUINEA
|
252
|
+
Z719,EE,NUOVA ZELANDA
|
253
|
+
Z720,EE,PAPUASIA
|
254
|
+
Z721,EE,PASQUA
|
255
|
+
Z722,EE,PITCAIRN
|
256
|
+
Z723,EE,POLINESIA
|
257
|
+
Z724,EE,SALOMONE
|
258
|
+
Z725,EE,SAMOA AMERICANE
|
259
|
+
Z726,EE,SAMOA OCCIDENTALI
|
260
|
+
Z727,EE,TOKELAU
|
261
|
+
Z728,EE,TONGA O DEGLI AMICI
|
262
|
+
Z729,EE,WALLIS
|
263
|
+
Z730,EE,PAPUA NUOVA GUINEA
|
264
|
+
Z731,EE,KIRIBATI
|
265
|
+
Z732,EE,TUVALU
|
266
|
+
Z733,EE,VANUATU
|
267
|
+
Z734,EE,PALAU REPUBBLICA
|
268
|
+
Z735,EE,MICRONESIA STATI FEDERALI / MICRONESIA
|
269
|
+
Z800,EE,DIPENDENZE CANADESI
|
270
|
+
Z801,EE,DIPENDENZE NORVEGESI
|
271
|
+
Z802,EE,DIPENDENZE SOVIETICHE
|
272
|
+
Z900,EE,DIPENDENZE AUSTRALIANE
|
273
|
+
Z901,EE,DIPENDENZE BRITANNICHE
|
274
|
+
Z902,EE,DIPENDENZE FRANCESI
|
275
|
+
Z903,EE,DIPENDENZE NEOZELANDESI
|
276
|
+
Z905,EE,DIPENDENZE NORVEGESI
|
277
|
+
Z906,EE,DIPENDENZE SUDAFRICANE
|
data/lib/itax_code/encoder.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module ItaxCode
|
2
4
|
# Handles the tax code generation logic.
|
3
5
|
#
|
@@ -60,10 +62,7 @@ module ItaxCode
|
|
60
62
|
consonants = utils.extract_consonants chars
|
61
63
|
vowels = utils.extract_vowels chars
|
62
64
|
|
63
|
-
if consonants.length > 3
|
64
|
-
consonants =
|
65
|
-
consonants.chars.values_at(0, 2..consonants.chars.size).join
|
66
|
-
end
|
65
|
+
consonants = consonants.chars.values_at(0, 2..consonants.size).join if consonants.length > 3
|
67
66
|
|
68
67
|
"#{consonants[0..2]}#{vowels[0..2]}XXX"[0..2].upcase
|
69
68
|
end
|
data/lib/itax_code/omocode.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module ItaxCode
|
2
4
|
class Omocode
|
3
5
|
attr_reader :tax_code, :utils
|
@@ -11,26 +13,35 @@ module ItaxCode
|
|
11
13
|
@utils = utils
|
12
14
|
end
|
13
15
|
|
14
|
-
# Computes the omocodes from a given tax_code
|
16
|
+
# Computes the omocodes from a given tax_code by first identifying the original
|
17
|
+
# tax_code and then appending all the omocodes.
|
15
18
|
#
|
16
19
|
# @return [Array]
|
17
|
-
def
|
18
|
-
|
19
|
-
|
20
|
+
def omocodes
|
21
|
+
[original_omocode] + utils.omocodia_indexes_combos.map do |combo|
|
22
|
+
omocode(combo, ->(char) { utils.omocodia_encode(char) })
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# The original omocode is the one that have all the omocody indexes decoded
|
27
|
+
# as number, and from which any of its omocodes are generated.
|
28
|
+
#
|
29
|
+
# @return [String]
|
30
|
+
def original_omocode
|
31
|
+
omocode(utils.omocodia_indexes, ->(char) { utils.omocodia_decode(char) })
|
20
32
|
end
|
21
33
|
|
22
34
|
private
|
23
35
|
|
24
|
-
def
|
25
|
-
|
26
|
-
|
27
|
-
|
36
|
+
def omocode(indexes, translation)
|
37
|
+
chars = tax_code[0..14].chars
|
38
|
+
|
39
|
+
indexes.each do |index|
|
40
|
+
chars[index] = translation.call(chars[index])
|
28
41
|
end
|
29
|
-
end
|
30
42
|
|
31
|
-
|
32
|
-
|
33
|
-
code + utils.encode_cin(code)
|
43
|
+
omocode = chars.join
|
44
|
+
omocode + utils.encode_cin(omocode)
|
34
45
|
end
|
35
46
|
end
|
36
47
|
end
|