Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/cpf_utils/string.rb
Instance Method Summary collapse
-
#blacklisted_cpf? ⇒ Boolean
Verifica se o CPF é faz parte da blacklist A blacklist consiste em CPFs inválidos como ‘111.111.111-11’ e seus derivados.
-
#generate_cpf ⇒ Object
(also: #gerar_cpf)
Para gerar um número de CPF a partir de um número candidato:.
-
#generate_cpf_formatted ⇒ Object
(also: #gerar_cpf_formatado)
Gera um número de CPF formatado a partir de um número candidato:.
-
#to_cpf_format ⇒ Object
(also: #para_formato_cpf)
Para formatar um número válido de CPF:.
-
#valid_cpf? ⇒ Boolean
(also: #cpf_valido?)
Verifica se um CPF é válido:.
-
#valid_cpf_mask? ⇒ Boolean
(also: #mascara_de_cpf_valida?)
Verifica se uma máscara de CPF é válida:.
Instance Method Details
#blacklisted_cpf? ⇒ Boolean
Verifica se o CPF é faz parte da blacklist A blacklist consiste em CPFs inválidos como ‘111.111.111-11’ e seus derivados
“11111111111”.blacklisted_cpf? => # true
69 70 71 72 73 |
# File 'lib/cpf_utils/string.rb', line 69 def blacklisted_cpf? wihout_mask = self.gsub(/\.?-?/,"",) first_number = wihout_mask[0] wihout_mask.count(first_number) == 11 ? true : false end |
#generate_cpf ⇒ Object Also known as: gerar_cpf
Para gerar um número de CPF a partir de um número candidato:
“456983948”.generate_cpf => # “45698394823”
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/cpf_utils/string.rb', line 46 def generate_cpf if !!(self =~ /^[0-9]{9}+$/) final_cpf = self final_cpf << CpfUtils::Cpf.new(final_cpf[0..8]).first_digit.to_s final_cpf << CpfUtils::Cpf.new(final_cpf[0..9]).second_digit.to_s final_cpf end end |
#generate_cpf_formatted ⇒ Object Also known as: gerar_cpf_formatado
Gera um número de CPF formatado a partir de um número candidato:
“456983948”.generate_cpf_formatted => # “456.983.948-23”
60 61 62 |
# File 'lib/cpf_utils/string.rb', line 60 def generate_cpf_formatted generate_cpf.to_cpf_format end |
#to_cpf_format ⇒ Object Also known as: para_formato_cpf
Para formatar um número válido de CPF:
“45698394823”.to_cpf_format => # “456.983.948-23”
35 36 37 38 39 40 41 |
# File 'lib/cpf_utils/string.rb', line 35 def to_cpf_format cleaned_cpf = self.gsub(/\.?-?/,"",) if cleaned_cpf.valid_cpf? "#{cleaned_cpf[0..2]}.#{cleaned_cpf[3..5]}.#{cleaned_cpf[6..8]}-#{cleaned_cpf[9..11]}" end end |
#valid_cpf? ⇒ Boolean Also known as: cpf_valido?
Verifica se um CPF é válido:
“47238051923”.valid_cpf? => # true “472.380.519-23”.valid_cpf? => # true
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/cpf_utils/string.rb', line 17 def valid_cpf? if valid_cpf_mask? original_cpf = self.gsub(/\.?-?/,"",) tested_cpf = original_cpf[0..8] tested_cpf << CpfUtils::Cpf.new(original_cpf[0..8]).first_digit.to_s tested_cpf << CpfUtils::Cpf.new(tested_cpf[0..9]).second_digit.to_s valid_cpf = (tested_cpf == original_cpf) ? true : false blacklisted_cpf = !self.blacklisted_cpf? (valid_cpf == blacklisted_cpf) ? true : false end end |
#valid_cpf_mask? ⇒ Boolean Also known as: mascara_de_cpf_valida?
Verifica se uma máscara de CPF é válida:
“456.983.948-23”.valid_cpf_mask? => # true “456.983..948-23”.valid_cpf_mask? => # false
7 8 9 10 11 |
# File 'lib/cpf_utils/string.rb', line 7 def valid_cpf_mask? without_mask = !!(self =~ /^[0-9]{11}+$/) with_mask = !!(self =~ /^[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}+$/) with_mask || without_mask end |