Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/cnpj_utils/string.rb
Instance Method Summary collapse
-
#generate_cnpj ⇒ Object
(also: #gerar_cnpj)
Para gerar um número de CNPJ a partir de um número candidato:.
-
#generate_cnpj_formatted ⇒ Object
(also: #gerar_cnpj_formatado)
Gera um número de CNPJ formatado a partir de um número candidato:.
-
#to_cnpj_format ⇒ Object
(also: #para_formato_cnpj)
Para formatar um número válido de CNPJ:.
-
#valid_cnpj? ⇒ Boolean
(also: #cnpj_valido?)
Verifica se um CNPJ é válido:.
-
#valid_cnpj_mask? ⇒ Boolean
(also: #mascara_de_cnpj_valida?)
Verifica se uma máscara de CNPJ é válida:.
Instance Method Details
#generate_cnpj ⇒ Object Also known as: gerar_cnpj
Para gerar um número de CNPJ a partir de um número candidato:
“456983940001”.generate_cnpj => # “61287395000140”
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/cnpj_utils/string.rb', line 41 def generate_cnpj if !!(self =~ /^[0-9]{12}+$/) final_cnpj = self final_cnpj << CnpjUtils::Cnpj.new(final_cnpj[0..11]).first_digit.to_s final_cnpj << CnpjUtils::Cnpj.new(final_cnpj[0..12]).second_digit.to_s final_cnpj end end |
#generate_cnpj_formatted ⇒ Object Also known as: gerar_cnpj_formatado
Gera um número de CNPJ formatado a partir de um número candidato:
“456983940001”.generate_cnpj_formatted => # “61.287.395/0001-40”
55 56 57 |
# File 'lib/cnpj_utils/string.rb', line 55 def generate_cnpj_formatted generate_cnpj.to_cnpj_format end |
#to_cnpj_format ⇒ Object Also known as: para_formato_cnpj
Para formatar um número válido de CNPJ:
“61287395000140”.to_cnpj_format => # “61.287.395/0001-40”
32 33 34 35 36 |
# File 'lib/cnpj_utils/string.rb', line 32 def to_cnpj_format if self.valid_cnpj? "#{self[0..1]}.#{self[2..4]}.#{self[5..7]}/#{self[8..11]}-#{self[12..13]}" end end |
#valid_cnpj? ⇒ Boolean Also known as: cnpj_valido?
Verifica se um CNPJ é válido:
“61287395000140”.valid_cnpj? => # true “61.287.395/0001-40”.valid_cnpj? => # true
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/cnpj_utils/string.rb', line 17 def valid_cnpj? if valid_cnpj_mask? original_cnpj = self.gsub(/\.?\/?-?/,"",) tested_cnpj = original_cnpj[0..11] tested_cnpj << CnpjUtils::Cnpj.new(original_cnpj[0..11]).first_digit.to_s tested_cnpj << CnpjUtils::Cnpj.new(tested_cnpj[0..12]).second_digit.to_s tested_cnpj == original_cnpj ? true : false end end |
#valid_cnpj_mask? ⇒ Boolean Also known as: mascara_de_cnpj_valida?
Verifica se uma máscara de CNPJ é válida:
“61.287.395/0001-40”.valid_cnpj_mask? => # true “45.698..394/0001-54”.valid_cnpj_mask? => # false
7 8 9 10 11 |
# File 'lib/cnpj_utils/string.rb', line 7 def valid_cnpj_mask? without_mask = !!(self =~ /^[0-9]{14}+$/) with_mask = !!(self =~ /^[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}-[0-9]{2}+$/) with_mask || without_mask end |