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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTExOGMzYWRmN2M0ZmUzYmEwOWRjZTY0NmNkODVhNTZiMGFhMGIyZg==
4
+ ZGE4NTIzOWQ0ZjQwZmQ0OWUxNWYyODYxNjAxNjM2MDU3MGQwYzZmNw==
5
5
  data.tar.gz: !binary |-
6
- Y2FjYjFlMzQ0N2NkNGFjOWM3YjU4MjY0NWQ5NGQ4NzRiMTFlODI1ZQ==
6
+ NzRkOTZjYjVmZjc3MTQwZDE2ODZjMTFkYWE1OTUyNDAxNmE3ZTg3Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTg1NGQwOWM3YjVjZGM2MjJjNzJhNjA1ODk0NDU3YjMyMzczMWIxMzY0ODQ3
10
- MmQ1MTFhMDc3NGY2YWRhYzBjYjMwM2E1NzgzMGZhOTEyZWVmMDMzYWFjY2Yz
11
- ZDIyZmUwYWEyNTZjN2FhNTljMGE1ODQ2NzVjZmMzNDhiZmI5ZWI=
9
+ YTc4YmM1N2I5ZGZlMjcyNDMyYWViMDNkZDYwN2M4YzdmNDljMDA0YmNjZmM3
10
+ M2QyMjBiYTg2Njc0MDY5MjY0MmM4NTg2MmI1NWZmZTFjYzU5ODAxZTdlNWEw
11
+ NzViMmQ4MzY3YmIyM2MyZmJhMzNhNDdjYTIzMjdjNWEzMGQ5MGM=
12
12
  data.tar.gz: !binary |-
13
- ZWZmNTc5M2Y3YTc4YzJlYTQ1NTZlZTU5ZTI5NTVjZDJjOGE4OWJkNzFiNzJl
14
- MzA4NTQ2MDFmYjAzYmNkNmFlMjYyZWJkODYwNmU0ZWMzOGRkZTRiZTdjMTNm
15
- Zjc5Y2I1ODA5YmU2MDg3ZWFjM2MxZWFlZjFkOTA1Zjg2MDZkYzg=
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 numero_original.size > NUMERO_DIGITOS
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.match(/\d$/)
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 == NUMERO_DIGITOS) ? numero : numero.join.rjust(NUMERO_DIGITOS, "0").split('')
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
@@ -1,3 +1,3 @@
1
1
  module TituloEleitoral
2
- VERSION = "0.0.1"
2
+ VERSION = '0.0.2'
3
3
  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 vazio' do
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
- it 'número deve ser um array preenchido com zeros' do
88
- @numero5.numero.must_equal Array.new(12,'0')
89
- end
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
@@ -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 = "MIT"
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 = ["lib"]
19
+ spec.require_paths = ['lib']
20
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"
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.1
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-12 00:00:00.000000000 Z
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: