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 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: