titulo_eleitoral 0.0.1
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 +15 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +23 -0
- data/.travis.yml +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +42 -0
- data/Rakefile +11 -0
- data/lib/titulo_eleitoral.rb +16 -0
- data/lib/titulo_eleitoral/constantes.rb +39 -0
- data/lib/titulo_eleitoral/numero_inscricao.rb +87 -0
- data/lib/titulo_eleitoral/version.rb +3 -0
- data/test/numero_inscricao_test.rb +104 -0
- data/test/test_helper.rb +6 -0
- data/test/version_test.rb +9 -0
- data/titulo_eleitoral.gemspec +25 -0
- metadata +119 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OTExOGMzYWRmN2M0ZmUzYmEwOWRjZTY0NmNkODVhNTZiMGFhMGIyZg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Y2FjYjFlMzQ0N2NkNGFjOWM3YjU4MjY0NWQ5NGQ4NzRiMTFlODI1ZQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YTg1NGQwOWM3YjVjZGM2MjJjNzJhNjA1ODk0NDU3YjMyMzczMWIxMzY0ODQ3
|
10
|
+
MmQ1MTFhMDc3NGY2YWRhYzBjYjMwM2E1NzgzMGZhOTEyZWVmMDMzYWFjY2Yz
|
11
|
+
ZDIyZmUwYWEyNTZjN2FhNTljMGE1ODQ2NzVjZmMzNDhiZmI5ZWI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZWZmNTc5M2Y3YTc4YzJlYTQ1NTZlZTU5ZTI5NTVjZDJjOGE4OWJkNzFiNzJl
|
14
|
+
MzA4NTQ2MDFmYjAzYmNkNmFlMjYyZWJkODYwNmU0ZWMzOGRkZTRiZTdjMTNm
|
15
|
+
Zjc5Y2I1ODA5YmU2MDg3ZWFjM2MxZWFlZjFkOTA1Zjg2MDZkYzg=
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
23
|
+
.idea
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Eduardo de O. Hernandes
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# TituloEleitoral
|
2
|
+
|
3
|
+
[](https://travis-ci.org/eduardodeoh/titulo_eleitoral) [](https://coveralls.io/r/eduardodeoh/titulo_eleitoral?branch=master) [](http://badge.fury.io/rb/titulo_eleitoral)
|
4
|
+
|
5
|
+
Esta gem permite validar o número de inscrição presente no título eleitoral, de acordo com o artigo 12 da resolução número 21.538 do TSE, de 14/10/2003.
|
6
|
+
|
7
|
+
## Instalação
|
8
|
+
|
9
|
+
Adicione essa linha no arquivo Gemfile da sua aplicação:
|
10
|
+
|
11
|
+
gem 'titulo_eleitoral'
|
12
|
+
|
13
|
+
E etão execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Ou instale você mesmo:
|
18
|
+
|
19
|
+
$ gem install titulo_eleitoral
|
20
|
+
|
21
|
+
## Uso
|
22
|
+
|
23
|
+
A utilização é bem simples:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
# Para verificar se o número de inscrição é válido:
|
27
|
+
TituloEleitoral.valido?('324542010232')
|
28
|
+
|
29
|
+
# Para verificar a UF do número de inscrição:
|
30
|
+
TituloEleitoral.uf('324542010232')
|
31
|
+
|
32
|
+
# Para retornar uma instância da classe TituloEleitoral::NumeroInscricao:
|
33
|
+
TituloEleitoral.numero_inscricao('324542010232')
|
34
|
+
```
|
35
|
+
|
36
|
+
## Contribuindo
|
37
|
+
|
38
|
+
1. Faça um Fork
|
39
|
+
2. Crie um branch para a nova funcionalidade (`git checkout -b minha-nova-funcionalidade`)
|
40
|
+
3. Faça o commit de suas alterações (`git commit -am 'Adicionada nova funcionalidade'`)
|
41
|
+
4. Faça um push da sua nova funconalidade (`git push origin minha-nova-funcionalidade`)
|
42
|
+
5. Submeta uma nova Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'titulo_eleitoral/version'
|
2
|
+
require 'titulo_eleitoral/numero_inscricao'
|
3
|
+
|
4
|
+
module TituloEleitoral
|
5
|
+
def self.valido?(numero)
|
6
|
+
numero_inscricao(numero).valido?
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.numero_inscricao(numero)
|
10
|
+
NumeroInscricao.new(numero)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.uf(numero)
|
14
|
+
numero_inscricao(numero).uf
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module TituloEleitoral
|
2
|
+
MULTIPLICADORES_DV1 = [2, 3, 4, 5, 6, 7, 8, 9]
|
3
|
+
MULTIPLICADORES_DV2 = [7, 8, 9]
|
4
|
+
|
5
|
+
UFS = {
|
6
|
+
'01' => 'SP',
|
7
|
+
'02' => 'MG',
|
8
|
+
'03' => 'RJ',
|
9
|
+
'04' => 'RS',
|
10
|
+
'05' => 'BA',
|
11
|
+
'06' => 'PR',
|
12
|
+
'07' => 'CE',
|
13
|
+
'08' => 'PE',
|
14
|
+
'09' => 'SC',
|
15
|
+
'10' => 'GO',
|
16
|
+
'11' => 'MA',
|
17
|
+
'12' => 'PB',
|
18
|
+
'13' => 'PA',
|
19
|
+
'14' => 'ES',
|
20
|
+
'15' => 'PI',
|
21
|
+
'16' => 'RN',
|
22
|
+
'17' => 'AL',
|
23
|
+
'18' => 'MT',
|
24
|
+
'19' => 'MS',
|
25
|
+
'20' => 'DF',
|
26
|
+
'21' => 'SE',
|
27
|
+
'22' => 'AM',
|
28
|
+
'23' => 'RO',
|
29
|
+
'24' => 'AC',
|
30
|
+
'25' => 'AP',
|
31
|
+
'26' => 'RR',
|
32
|
+
'27' => 'TO',
|
33
|
+
'28' => 'Exterior(ZZ)'
|
34
|
+
}
|
35
|
+
|
36
|
+
MODULO = 11
|
37
|
+
|
38
|
+
NUMERO_DIGITOS = 12
|
39
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'titulo_eleitoral/constantes'
|
2
|
+
|
3
|
+
module TituloEleitoral
|
4
|
+
class NumeroInscricao
|
5
|
+
attr_reader :numero, :numero_original, :dv1, :dv2
|
6
|
+
|
7
|
+
#http://www.tse.jus.br/legislacao/codigo-eleitoral/normas-editadas-pelo-tse/resolucao-nb0-21.538-de-14-de-outubro-de-2003-brasilia-2013-df
|
8
|
+
#http://www.exceldoseujeito.com.br/2008/12/19/validar-cpf-cnpj-e-titulo-de-eleitor-parte-ii/
|
9
|
+
def initialize(numero)
|
10
|
+
@numero_original = divide_em_array(numero)
|
11
|
+
@numero = normaliza_quantidade_digitos(numero_original)
|
12
|
+
@dv1 = primeiro_digito_verificador
|
13
|
+
@dv2 = segundo_digito_verificador
|
14
|
+
end
|
15
|
+
|
16
|
+
def valido?
|
17
|
+
return false if numero_original.size > NUMERO_DIGITOS
|
18
|
+
digitos_verificadores == digitos_verificadores_calculados
|
19
|
+
end
|
20
|
+
|
21
|
+
def uf
|
22
|
+
UFS[digitos_uf] if uf_valida?
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
def primeiro_digito_verificador
|
27
|
+
#Somar a multiplicação dos 8 primeiros digitos, respectivamente, por [2,3,4,5,6,7,8,9] e após calcular módulo 11 desta soma
|
28
|
+
digitos = numero.take(8).map(&:to_i)
|
29
|
+
calcula_digito_verificador(digitos, MULTIPLICADORES_DV1)
|
30
|
+
end
|
31
|
+
|
32
|
+
def segundo_digito_verificador
|
33
|
+
#Somar a multiplicação dos digitos 9, 10 e DV1, respectivamente, por [7,8,9] e após calcular módulo 11 desta soma
|
34
|
+
digitos = numero[8,2].map(&:to_i) << dv1
|
35
|
+
calcula_digito_verificador(digitos, MULTIPLICADORES_DV2)
|
36
|
+
end
|
37
|
+
|
38
|
+
def calcula_digito_verificador(digitos, multiplicadores)
|
39
|
+
soma_multiplicacao = digitos.zip(multiplicadores).inject(0) { |resultado,(digito, multiplicador)| resultado + (digito * multiplicador) }
|
40
|
+
resto_divisao = soma_multiplicacao % MODULO
|
41
|
+
verifica_resto(resto_divisao)
|
42
|
+
end
|
43
|
+
|
44
|
+
def divide_em_array(numero)
|
45
|
+
case
|
46
|
+
when numero.is_a?(String) && numero.match(/\d$/)
|
47
|
+
numero.split('')
|
48
|
+
when numero.is_a?(Fixnum)
|
49
|
+
numero.to_s.split('')
|
50
|
+
else
|
51
|
+
[]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def normaliza_quantidade_digitos(numero)
|
56
|
+
(numero.join.size == NUMERO_DIGITOS) ? numero : numero.join.rjust(NUMERO_DIGITOS, "0").split('')
|
57
|
+
end
|
58
|
+
|
59
|
+
def digitos_uf
|
60
|
+
numero[8,2].join
|
61
|
+
end
|
62
|
+
|
63
|
+
def digitos_verificadores
|
64
|
+
numero[10,2].join
|
65
|
+
end
|
66
|
+
|
67
|
+
def uf_valida?
|
68
|
+
uf = digitos_uf.to_i
|
69
|
+
uf >= 1 && uf <=28
|
70
|
+
end
|
71
|
+
|
72
|
+
def digitos_verificadores_calculados
|
73
|
+
dv1.to_s + dv2.to_s
|
74
|
+
end
|
75
|
+
|
76
|
+
def verifica_resto(resto_divisao)
|
77
|
+
case resto_divisao
|
78
|
+
when 10
|
79
|
+
0
|
80
|
+
when 0 || 1
|
81
|
+
1
|
82
|
+
else
|
83
|
+
resto_divisao
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative 'test_helper'
|
4
|
+
|
5
|
+
describe TituloEleitoral::NumeroInscricao do
|
6
|
+
|
7
|
+
describe 'dado um número de inscrição válido com 12 dígitos' do
|
8
|
+
before do
|
9
|
+
@valor = 316820550159
|
10
|
+
@numero = TituloEleitoral::NumeroInscricao.new(@valor)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'deve ser válido' do
|
14
|
+
@numero.valido?.must_equal true
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'deve retornar DV1' do
|
18
|
+
@numero.dv1.must_equal 5
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'deve retornar DV2' do
|
22
|
+
@numero.dv2.must_equal 9
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'deve retornar número original como array de strings' do
|
26
|
+
@numero.numero_original.must_be_instance_of Array
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'deve retornar número como array de strings sem preenchimento de zeros à esquerda' do
|
30
|
+
teste = @valor.to_s.split('')
|
31
|
+
@numero.numero.must_equal teste
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'deve retornar a UF do título' do
|
35
|
+
@numero.uf.wont_be_nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'dada uma string válida com 12 dígitos' do
|
40
|
+
before do
|
41
|
+
@valor2 = '316820550159'
|
42
|
+
@numero2 = TituloEleitoral::NumeroInscricao.new(@valor2)
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'deve ser válido' do
|
46
|
+
@numero2.valido?.must_equal true
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe 'dado um número com menos de 12 dígitos' do
|
51
|
+
before do
|
52
|
+
@valor3 = 67735700132
|
53
|
+
@numero3 = TituloEleitoral::NumeroInscricao.new(@valor3)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'deve retornar número como array de strings com preenchimento de zeros à esquerda' do
|
57
|
+
teste = @valor3.to_s.split('').unshift('0')
|
58
|
+
@numero3.numero.must_equal teste
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe 'dada uma string com mais de 12 dígitos' do
|
63
|
+
before do
|
64
|
+
@valor4 = '0677357001321'
|
65
|
+
@numero4 = TituloEleitoral::NumeroInscricao.new(@valor4)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'número de inscrição deve ser inválido' do
|
69
|
+
@numero4.valido?.must_equal false
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe 'dada uma string com dígitos e letras' do
|
74
|
+
before do
|
75
|
+
@valor5 = '6773570013AB'
|
76
|
+
@numero5 = TituloEleitoral::NumeroInscricao.new(@valor5)
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'número inscrição deve ser inválido' do
|
80
|
+
@numero5.valido?.must_equal false
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'número original deve ser uma array vazio' do
|
84
|
+
@numero5.numero_original.must_equal []
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'número deve ser um array preenchido com zeros' do
|
88
|
+
@numero5.numero.must_equal Array.new(12,'0')
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe 'dada uma string válida de 12 dígitos e dígitos da UF menores que 01 ou maiores que 28' do
|
93
|
+
it 'dígitos da UF menor que 01 retorna nil' do
|
94
|
+
numero = TituloEleitoral::NumeroInscricao.new('067735700032')
|
95
|
+
numero.uf.must_be_nil
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'dígitos da UF maior que 28 retorna nil' do
|
99
|
+
numero = TituloEleitoral::NumeroInscricao.new('067735702932')
|
100
|
+
numero.uf.must_be_nil
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'titulo_eleitoral/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'titulo_eleitoral'
|
8
|
+
spec.version = TituloEleitoral::VERSION
|
9
|
+
spec.authors = ['Eduardo de O. Hernandes']
|
10
|
+
spec.email = ['eduardodeoh@gmail.com']
|
11
|
+
spec.summary = %q{Validação do número de inscrição do título eleitoral.}
|
12
|
+
spec.description = %q{Valida o número de inscrição do título eleitoral conforme resolução 21.538 (14/10/2003) do TSE, artigo 12.}
|
13
|
+
spec.homepage = 'https://github.com/eduardodeoh/titulo_eleitoral'
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "minitest"
|
24
|
+
spec.add_development_dependency "coveralls"
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: titulo_eleitoral
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Eduardo de O. Hernandes
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: coveralls
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Valida o número de inscrição do título eleitoral conforme resolução 21.538
|
70
|
+
(14/10/2003) do TSE, artigo 12.
|
71
|
+
email:
|
72
|
+
- eduardodeoh@gmail.com
|
73
|
+
executables: []
|
74
|
+
extensions: []
|
75
|
+
extra_rdoc_files: []
|
76
|
+
files:
|
77
|
+
- .coveralls.yml
|
78
|
+
- .gitignore
|
79
|
+
- .travis.yml
|
80
|
+
- Gemfile
|
81
|
+
- LICENSE.txt
|
82
|
+
- README.md
|
83
|
+
- Rakefile
|
84
|
+
- lib/titulo_eleitoral.rb
|
85
|
+
- lib/titulo_eleitoral/constantes.rb
|
86
|
+
- lib/titulo_eleitoral/numero_inscricao.rb
|
87
|
+
- lib/titulo_eleitoral/version.rb
|
88
|
+
- test/numero_inscricao_test.rb
|
89
|
+
- test/test_helper.rb
|
90
|
+
- test/version_test.rb
|
91
|
+
- titulo_eleitoral.gemspec
|
92
|
+
homepage: https://github.com/eduardodeoh/titulo_eleitoral
|
93
|
+
licenses:
|
94
|
+
- MIT
|
95
|
+
metadata: {}
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options: []
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
requirements: []
|
111
|
+
rubyforge_project:
|
112
|
+
rubygems_version: 2.4.2
|
113
|
+
signing_key:
|
114
|
+
specification_version: 4
|
115
|
+
summary: Validação do número de inscrição do título eleitoral.
|
116
|
+
test_files:
|
117
|
+
- test/numero_inscricao_test.rb
|
118
|
+
- test/test_helper.rb
|
119
|
+
- test/version_test.rb
|