titulo_eleitoral 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Build Status](https://travis-ci.org/eduardodeoh/titulo_eleitoral.svg?branch=master)](https://travis-ci.org/eduardodeoh/titulo_eleitoral) [![Coverage Status](https://coveralls.io/repos/eduardodeoh/titulo_eleitoral/badge.png?branch=master)](https://coveralls.io/r/eduardodeoh/titulo_eleitoral?branch=master) [![Gem Version](https://badge.fury.io/rb/titulo_eleitoral.svg)](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
|