titulo_eleitoral 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/titulo_eleitoral/numero_inscricao.rb +8 -4
- data/lib/titulo_eleitoral/version.rb +1 -1
- data/test/numero_inscricao_test.rb +17 -5
- data/titulo_eleitoral.gemspec +7 -6
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZGE4NTIzOWQ0ZjQwZmQ0OWUxNWYyODYxNjAxNjM2MDU3MGQwYzZmNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NzRkOTZjYjVmZjc3MTQwZDE2ODZjMTFkYWE1OTUyNDAxNmE3ZTg3Mw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTc4YmM1N2I5ZGZlMjcyNDMyYWViMDNkZDYwN2M4YzdmNDljMDA0YmNjZmM3
|
10
|
+
M2QyMjBiYTg2Njc0MDY5MjY0MmM4NTg2MmI1NWZmZTFjYzU5ODAxZTdlNWEw
|
11
|
+
NzViMmQ4MzY3YmIyM2MyZmJhMzNhNDdjYTIzMjdjNWEzMGQ5MGM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzUyNWUyMDRjYjg1ZWYxNmFjMDhhYmMyMjM1ZjU3MDNhODgzODk3Yjk0YmIz
|
14
|
+
NDE0Y2U4NDIwZDdkZDE0ZThjYjU0NjVlMTdjNjBhMTgzMmFlNmE1ZWE3MDlh
|
15
|
+
NjFhMzMzYmY0YzM1ZGIyMGY1YTc4Mzc3OTg1OThhZmVlOGJkMDI=
|
@@ -14,7 +14,7 @@ module TituloEleitoral
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def valido?
|
17
|
-
return false if
|
17
|
+
return false if numero.size > NUMERO_DIGITOS
|
18
18
|
digitos_verificadores == digitos_verificadores_calculados
|
19
19
|
end
|
20
20
|
|
@@ -43,8 +43,8 @@ module TituloEleitoral
|
|
43
43
|
|
44
44
|
def divide_em_array(numero)
|
45
45
|
case
|
46
|
-
when numero.is_a?(String) && numero.
|
47
|
-
numero.split('')
|
46
|
+
when numero.is_a?(String) && !numero.empty?
|
47
|
+
somente_numeros(numero).split('')
|
48
48
|
when numero.is_a?(Fixnum)
|
49
49
|
numero.to_s.split('')
|
50
50
|
else
|
@@ -53,7 +53,7 @@ module TituloEleitoral
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def normaliza_quantidade_digitos(numero)
|
56
|
-
(numero.join.size
|
56
|
+
(numero.join.size >= NUMERO_DIGITOS) ? numero : numero.join.rjust(NUMERO_DIGITOS, "0").split('')
|
57
57
|
end
|
58
58
|
|
59
59
|
def digitos_uf
|
@@ -83,5 +83,9 @@ module TituloEleitoral
|
|
83
83
|
resto_divisao
|
84
84
|
end
|
85
85
|
end
|
86
|
+
|
87
|
+
def somente_numeros(valor)
|
88
|
+
valor.gsub(/\D/, '')
|
89
|
+
end
|
86
90
|
end
|
87
91
|
end
|
@@ -73,6 +73,7 @@ describe TituloEleitoral::NumeroInscricao do
|
|
73
73
|
describe 'dada uma string com dígitos e letras' do
|
74
74
|
before do
|
75
75
|
@valor5 = '6773570013AB'
|
76
|
+
@somente_numeros = '6773570013'
|
76
77
|
@numero5 = TituloEleitoral::NumeroInscricao.new(@valor5)
|
77
78
|
end
|
78
79
|
|
@@ -80,13 +81,13 @@ describe TituloEleitoral::NumeroInscricao do
|
|
80
81
|
@numero5.valido?.must_equal false
|
81
82
|
end
|
82
83
|
|
83
|
-
it 'número original deve ser uma array
|
84
|
-
@numero5.numero_original.must_equal
|
84
|
+
it 'número original deve ser uma array contendo apenas número' do
|
85
|
+
@numero5.numero_original.must_equal @somente_numeros.to_s.split('')
|
85
86
|
end
|
86
87
|
|
87
|
-
|
88
|
-
|
89
|
-
|
88
|
+
it 'número deve ser um array preenchido com zeros' do
|
89
|
+
@numero5.numero.must_equal @somente_numeros.rjust(12, '0').split('')
|
90
|
+
end
|
90
91
|
end
|
91
92
|
|
92
93
|
describe 'dada uma string válida de 12 dígitos e dígitos da UF menores que 01 ou maiores que 28' do
|
@@ -101,4 +102,15 @@ describe TituloEleitoral::NumeroInscricao do
|
|
101
102
|
end
|
102
103
|
end
|
103
104
|
|
105
|
+
describe 'dada uma string formatada com número de inscrição válido' do
|
106
|
+
before do
|
107
|
+
@valor6 = '3168.2055.0159'
|
108
|
+
@numero6 = TituloEleitoral::NumeroInscricao.new(@valor6)
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'deve ser válido' do
|
112
|
+
@numero6.valido?.must_equal true
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
104
116
|
end
|
data/titulo_eleitoral.gemspec
CHANGED
@@ -11,15 +11,16 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = %q{Validação do número de inscrição do título eleitoral.}
|
12
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
13
|
spec.homepage = 'https://github.com/eduardodeoh/titulo_eleitoral'
|
14
|
-
spec.license =
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
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
|
+
spec.add_development_dependency 'pry'
|
25
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: titulo_eleitoral
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo de O. Hernandes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description: Valida o número de inscrição do título eleitoral conforme resolução 21.538
|
70
84
|
(14/10/2003) do TSE, artigo 12.
|
71
85
|
email:
|