Ruby on Rails #03: Selecionando as Gemas
Publicado em 3 de junho de 2016
Em Programação, Ruby on Rails

Agora que você já sabe um poucos mais sobre as Gems, vamos definir quais serão usadas em nosso projeto. Não que você não possa incluir uma Gem (ou excluir) posteriormente, mas com o tempo você terá alguns pacotes valiosos para cada tipo de projeto.
Porém, antes de selecionarmos quais usaremos, precisamos definir o que será o nosso projeto.
Definição
Pensei em algumas possibilidades interessantes, mas a melhor opção continua sendo o bom e velho catálogo de filmes. Apenas para aprofundarmos mais no aprendizado, vamos pensar um pouco além de uma única tabela (geralmente chamada movies
).
Seleção
Inicialmente selecionei três Gems:
- CarrierWave, para gerenciar os uploads de arquivos.
- Cocoon, para tratar formulários aninhados.
- Kaminari, para gerenciar a paginação das consultas ao banco de dados.
E o arquivo Gemfile
ficou assim:
source 'https://rubygems.org' gem 'sdoc', '0.4.1', group: :doc gem 'rails', '4.2.6' gem 'sqlite3', '1.3.11' gem 'jbuilder', '2.5' gem 'coffee-rails', '4.1.1' gem 'sass-rails', '5.0.4' gem 'uglifier', '3.0.0' gem 'jquery-rails', '4.1.1' gem 'carrierwave', '0.11.2' gem 'cocoon', '1.2.9' gem 'kaminari', '0.17.0'
Explicação
Por gosto próprio eu prefiro definir a versão específica da Gem diretamente no Gemfile
, porém você poderia utilizar apenas gem ‘carrierwave'
, gem ‘carrierwave', ‘>= 0.11.2’
ou gem ‘carrierwave', '~> 0.11.2’
. Mas qual a diferença entre cada forma?
gem ‘carrierwave'
, utilizar a última versão estável.gem ‘carrierwave', '0.11.2'
, utilizar a versão 0.11.2.gem 'carrierwave', '>= 0.11.2'
, utilizar a última versão estável maior ou igual a 0.11.2.gem 'carrierwave', ‘~> 0.11.2'
, utilizar a última versão estável maior ou igual a 0.11.2 e menor que a 0.12.0.
Observação
Lembrando que você pode incluir (ou excluir) uma Gem a qualquer momento, não precisa se preocupar em fazer um levantamento completo no início do projeto.