Saiba mais sobre o Bundler 2.0

Saiba mais sobre o Bundler 2.0

Publicado em: 20/4/2016

Se você já usou Rails, já usou o Bundler, certo? Inclusive eu escrevi um artigo sobre como otimizar o Bundler.

Na RubyConf 2017, assisti à palestra do Samuel Giddins. Ele é um dos caras que trabalha no desenvolvimento do Bundler e ele trouxe algumas novidades que estão sendo desenvolvidas no Bundler 2.0, irei falar sobre as que mais gostei abaixo:

1- Sem compatibilidade com versões antigas do Ruby e RubyGems

Essa nova versão do Bundler precisa de no mínimo Ruby >= 2.3 e RubyGems >= 2.5.

É importante entender porque eles fizeram isso, segundo o Samuel, eles tinham muito trabalho para manter a compatibilidade porque cada versão do Ruby e RubyGems trabalhava de uma maneira diferente e quanto mais eles tentavam manter a compatibilidade, mais o projeto virava um monstro de tão complexo.

Para facilitar a continuidade do projeto e a aparição de novas features eles decidiram remover a compatibilidade.

2- Nova interface de configuração

A interface de configuração não era muito intuitiva e foi alterada para facilitar o entendimento dos comandos.

* Interface antiga

$ bundle config # Lista todas as configurações

$ bundle config “path” # Mostra a pasta de configuraçẽos atual

$ bundle config “path” “vendor” # Muda a pasta de configurações para “vendor”

$ bundle config –delete “path” # Deleta as configurações atuais da pasta

* Interface nova

$ bundle config list # Lista todas as configurações

$ bundle config get “path” # Mostra a pasta de configuraçẽos atual

$ bundle config set “path” “vendor” # Muda a pasta de configurações para “vendor”

$ bundle config unset “path” # Deleta as configurações atuais da pasta

A mudança foi sutil, mas agora você deixa claro o que você quer executar – e isso, em minha opinião, faz toda a diferença.

3- Segurança no Multi-source

Agora você pode usar multi-source no Gemfile com segurança de que a gem que você quer realmente será instalada corretamente.

Exemplo:

source ‘https://rubygems.org’

source ‘https://another-gems-repository.com’

gem ‘rails’

4- Cache

A nova versão traz um sistema de cache agressivo para otimizar o Bundler, fazendo cache de repositórios de gems e builds locais.

O novo Bundler vai agilizar e melhorar a vida de todos que usam, uma pena que ainda não sabemos a data de lançamento ainda, mas vale a pena esperar. Se tiver interesse, você pode ver os slides da palestra da RubyConf aqui.

Gostou do novo Bundler? Quer saber mais sobre algo específico dele? Deixe um comentário. :)

Publicado originalmente em Blog Locaweb