Class: ProcessoUtilities::CpfUtilities

Inherits:
Object
  • Object
show all
Defined in:
lib/cpf/cpf_utilities.rb

Class Method Summary collapse

Class Method Details

.calcula_digito_verificador(cpf) ⇒ Object



23
24
25
26
27
# File 'lib/cpf/cpf_utilities.rb', line 23

def self.calcula_digito_verificador(cpf)
  primeiro_digito = calcula_digito_verificador_individual(cpf[0..8], 10)
  segundo_digito = calcula_digito_verificador_individual(cpf[0..8] + primeiro_digito.to_s, 11)
  primeiro_digito.to_s + segundo_digito.to_s
end

.cpf_valido?(cpf) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
21
# File 'lib/cpf/cpf_utilities.rb', line 14

def self.cpf_valido?(cpf)
  cpf = remove_formatacao(cpf)
  tamanho_valido?(cpf)
  
  return true if cpf[9..10] == calcula_digito_verificador(cpf)

  false
end

.insere_formatacao(cpf) ⇒ Object



8
9
10
11
12
# File 'lib/cpf/cpf_utilities.rb', line 8

def self.insere_formatacao(cpf)
  cpf = remove_formatacao(cpf)
  tamanho_valido?(cpf)  
  cpf.insert(9, '-').insert(6, '.').insert(3, '.')
end

.remove_formatacao(cpf) ⇒ Object



4
5
6
# File 'lib/cpf/cpf_utilities.rb', line 4

def self.remove_formatacao(cpf)
  cpf.gsub(/[-\. \D]/, '')
end