Skip to content

Instruções em português

Lucas Andrade Oliveira edited this page Jan 20, 2019 · 1 revision

Brval

A gem Brval é uma gem de validação para os diversos códigos que temos aqui no Brasil, geralmente usamos gem separadas ou copiamos e colamos aqueles métodos que estão soltos pela internet.

A ideia dessa gem é justamente reunir essas validações em um só lugar e facilitar ainda mais o desenvolvimento de aplicações com Ruby.

Instalação

Adicione esse linha no seu Gemfile

gem 'brval'

Ou faça a instação direto no terminal

$ gem install brval

Como usar

Para usar a gem é muito simples, basta chamar o module Brval com a validação que você deseja usar.

Exemplo, validação de CPF:

# CPF válido
Brval.cpf_valid?('79411449050') # => true

# CPF invalido
Brval.cpf_valid?('79411400000') # => false

# CNH válida
Brval.cnh_valid?('30142868570') # => true

# Título de eleitor válido
Brval.te_valid?('264632480167') # => true

# Cep válido
Brval.cep_valid?('70297-400') # => true

Lista da Funções

Abaixo está a lista com todas as funções de validações disponíveis na gem Brval, e em seguida uma explicação de como funciona a validação do cep.

Função Retorno Descrição
Brval.cep_valid? true/false
Brval.cep_info? json Json com as informações do CEP
Brval.cnh_valid? true/false
Brval.cnpj_valid? true/false
Brval.cpf_valid? true/false
Brval.credit_card_valid? true/false Número de cartão de crédito 16 dígitos
Brval.lawsuit_valid? true/false Núemero de processos judiciais
Brval.pis_valid? true/false Mesma validação para PIS/PASEP/NIT
Brval.renavam_valid? true/false
Brval.te_valid? true/false Título de elitor

Validações do CEP

Como o CEP brasileiro não possui um cálculo para validação a única maneira de saber se um CEP é válido ou não é saber se ele realmente existe, ou seja, é preciso consultar uma base de dados com todos os CEP's existentes no Brasil.

Aparentemente os Correios não disponibilizam tal base de dados, por esse motivo algumas pessoas criaram seus próprios serviços de consulta de CEP's, alguns desses serviços são API's públicas que podem ser usadas por qualquer pessoa.

Sendo assim, a validação de CEP nessa gem é feita de seguinte maneira:

  • Brval.cep_valid?('00000000')
  • A gem faz uma consulta na API Via Cep
  • Caso não encontre o Cep a gem faz uma segunda consulta na API WideNet
  • Caso novamente não encontre o Cep a gem faz uma terceira consulta na API Postmon
  • Se o CEP não for encontrado em nenhuma dessas três API's a gem Brval informa que o CEP pesquisado não existe

A gem usa o mesmo procedimento para pegar as informações de um CEP com a função Brval.cep_info('00000000')

OBS: como a gem pesquisa "apenas" em três API's, caso um CEP exista mas não esteja em nenhuma das três API's a gem Brval vai retornar um falso negativo.

Contribuição no README