Class: ProcessoUtilities::CnpjUtilities

Inherits:
Object
  • Object
show all
Defined in:
lib/cnpj/cnpj_utilities.rb

Class Method Summary collapse

Class Method Details

.calcula_digito_verificador(cnpj) ⇒ Object



23
24
25
26
27
# File 'lib/cnpj/cnpj_utilities.rb', line 23

def self.calcula_digito_verificador(cnpj)
  primeiro_digito = calcula_digito_verificador_individual(cnpj[0..11], 5)
  segundo_digito = calcula_digito_verificador_individual(cnpj[0..11] + primeiro_digito.to_s, 6)
  primeiro_digito.to_s + segundo_digito.to_s
end

.cnpj_valido?(cnpj) ⇒ Boolean

Returns:

  • (Boolean)


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

def self.cnpj_valido?(cnpj)
  cnpj = remove_formatacao(cnpj)
  tamanho_valido?(cnpj)
  
  return true if cnpj[12..13] == calcula_digito_verificador(cnpj)

  false
end

.insere_formatacao(cnpj) ⇒ Object



8
9
10
11
12
# File 'lib/cnpj/cnpj_utilities.rb', line 8

def self.insere_formatacao(cnpj)
  cnpj = remove_formatacao(cnpj)
  tamanho_valido?(cnpj)
  cnpj.insert(12, '-').insert(8, '/').insert(5, '.').insert(2, '.')      
end

.remove_formatacao(cnpj) ⇒ Object



4
5
6
# File 'lib/cnpj/cnpj_utilities.rb', line 4

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