database-core
Biblioteca Ruby para centralizar o acesso a banco de dados e regras comuns de persistência, para ser reutilizada entre diferentes serviços e aplicações da organização.
Ela não é uma aplicação standalone, mas sim um "core" que expõe classes, módulos e configurações para ser usada como dependência em outros projetos Ruby/Rails.
Instalação
Via Git (recomendado durante o desenvolvimento)
No Gemfile da sua aplicação, adicione:
gem 'database-core', git: 'https://github.com/tyagoy/database-core.git'Depois rode:
bundle installVia gem (quando publicada no RubyGems)
Quando a gem estiver publicada, você poderá instalá-la com:
gem install database-coreOu adicionar ao Gemfile:
gem 'database-core'Uso
- Adicione a gem ao seu projeto (ver seção de Instalação).
- Requeira a biblioteca principal no ponto de entrada da sua aplicação, caso necessário:
require 'database/core'- Utilize os módulos e classes expostos pela gem, por exemplo:
# Exemplo ilustrativo, ajuste para refletir suas APIs reais
ActiveRecord::Base.transaction do
DatabaseCore::V3::InsertRunner.insert(request.POST)
end
ActiveRecord::Base.transaction do
DatabaseCore::V3::DeleteRunner.delete(request.POST)
end
ActiveRecord::Base.transaction do
DatabaseCore::V3::UpdateRunner.update(request.POST)
end
response = DatabaseCore::V3::QueryRunner.query(request.POST)Consulte a pasta lib/ para ver os componentes disponíveis (conexões, repositórios, adapters, etc.) e adapte o exemplo acima à API real do projeto.
Desenvolvimento
Após clonar o repositório, instale as dependências:
bin/setupPara abrir um console interativo com o ambiente da gem carregado:
bin/consolePara rodar a suíte de testes (ajuste o comando conforme o test runner configurado, por exemplo RSpec ou Minitest):
bundle exec rake test
# ou
bundle exec rspecPara instalar a gem localmente (para usar em outro projeto do mesmo ambiente):
bundle exec rake installPara criar uma nova versão:
- Atualize o número da versão em
lib/database-core/version.rb. - Rode:
bundle exec rake releaseIsso criará uma tag git, fará o push dos commits e publicará a gem (se configurado).
Contribuindo
Relatos de bugs e pull requests são bem-vindos no GitHub em:
https://github.com/tyagoy/database-core
Ao contribuir, siga as boas práticas de código Ruby, adicione testes cobrindo as mudanças e atualize a documentação quando necessário.
Licença
Este projeto está disponível como código aberto sob os termos da Licença MIT.
Código de Conduta
Todos que interagem com o repositório database-core, issue trackers, salas de bate-papo e listas de e-mail devem seguir o código de conduta definido em:
https://github.com/tyagoy/database-core/blob/master/CODE_OF_CONDUCT.md