titulo_eleitoral 0.0.1 → 0.0.2
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 +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:
|