DocValidator é uma gem Ruby projetada para validar e formatar documentos comuns no Brasil, como CPF, CNPJ, RG, CNH e outros. Ela fornece métodos fáceis de usar para verificar a validade desses documentos e formatá-los corretamente.
Adicione a gem ao seu Gemfile
:
gem 'doc_validator'
Depois, execute o comando para instalar:
bundle install
Ou, se preferir, instale diretamente com o comando gem
:
gem install doc_validator
Para validar um CPF, use o método .valid?
:
DocValidator::Cpf.valid?("123.456.789-09") # Retorna true
DocValidator::Cpf.valid?("112.345.678-900") # Retorna false
Para formatar um CPF, use o método .format
:
DocValidator::Cpf.format("12345678909") # Retorna "123.456.789-09"
Para validar um CNPJ, use o método .valid?
:
DocValidator::Cnpj.valid?("12.345.678/0001-95") # Retorna true
DocValidator::Cnpj.valid?("123.456.789-09") # Retorna false
Para formatar um CNPJ, use o método .format
:
DocValidator::Cnpj.format("12345678000195") # Retorna "12.345.678/0001-95"
Para validar um RG, use o método .valid?
:
DocValidator::Rg.valid?("12.345.678/0001-95") # Retorna true
DocValidator::Rg.valid?("11.234.567/0001-000") # Retorna false
Para formatar um RG, use o método .format
:
DocValidator::Rg.format("12345678000195") # Retorna "12.345.678/0001-95"
Em breve, adicionaremos suporte para a validação e formatação de CNH.
- Ruby 3.4.2 ou superior
- Nenhuma outra dependência externa além da própria gem.
Para rodar os testes, você pode usar o RSpec. Se ainda não tiver o RSpec instalado, adicione ao seu Gemfile
:
gem 'rspec'
Então, execute:
bundle install
Para rodar os testes:
rspec
DocValidator utiliza o SimpleCov para gerar cobertura de testes. Após rodar os testes, você pode verificar a cobertura gerada em coverage/index.html
.
- Fork o projeto.
- Crie uma branch (
git checkout -b minha-nova-feature
). - Faça suas alterações e adicione testes para cobrir as mudanças.
- Execute os testes para garantir que tudo está funcionando corretamente.
- Envie um pull request.
Distribuído sob a licença MIT. Veja LICENSE
para mais informações.
- Maikon Douglas - Criador e mantenedor