Marcio Trindade

Utilizando gems locais em desenvolvimento

Hoje encontrei uma dica muito útil no site The Life of a Radar.

Quem utiliza alguma gem na qual está trabalhando constantemente sabe como é chato ficar alterando o arquivo Gemfile sempre que vai fazer um deploy. Este é o meu caso que tenho os models do meu projeto separado em uma gem (Rails Engine) a fim de reutiliza-los em todos os projetos, tanto front-end quanto workers.

Como a maior parte do tempo estou desenvolvendo, mantenho o meu Gemfile configurado desta forma:

Gemfile
gem 'projet-models', path: "../project-models"

Porém sempre que vou fazer um deploy tenho que lebrar de voltar o gemfile para o repositório padrão.

Gemfile
gem 'project-models'

A solução apresentada no "The Life of a Radar" é simples, basta informar o bundler que em sua maquina deve considerar sempre a gem project-model como local.

terminal
bundle config local.project-models ~/Projects/project-models

Desta maneira mesmo que o seu Gemfile aponte para o repositório, na maquina de desenvolvimento o bundler utiliza a gem do path citado, como esta configuração é feita somente em minha maquina local no servidor o bundler continua utilizando a gem do repositório.