Eu gosto muito de usar o RVM pra gerenciar isso. O que geralmente faco e congelar as versoes das gems no meu Gemfile. Quando saem versoes novas das gems, eu simplesmente crio uma nova gemset no RVM que contem as gems mais atuais e testo a aplicacao nela. Faco as modificacoes necessarias na aplicacao - se for preciso - e versiono um novo Gemfile com os numeros das novas versoes.
Se voce tem controle sobre o que instalar no seu servidor, otimo. Agora se voce estiver contratando um servidor compartilhado entao voce fica refem do que estiver instalado la. Nesse caso voce pode usar a estrategia acima para evoluir as versoes das gems conforme elas vao evoluindo no servidor.
anderson_lr
Certo. Quanto as gems acho interessante essa forma que você faz com RVM. Eu também gerencio os ambientes com ele atualmente. Mas o Rails está amarrado ao ruby e a aplicação também precisa evoluir nesse sentido. Nesse caso então, á cada mudança de versão do rails você cria um novo ambiente no rvm com o ruby atualizado (se necessário) e instala as gems necessárias com a versão do ruby atualizada, e vai controlando isso. É isso mesmo?
tnaires
Isso, porque manter varias versoes do Ruby com o RVM e moleza tambem. O RVM permite que voce crie gemsets separadas para cada implementacao do Ruby na sua maquina.
anderson_lr
E como você faz pra verificar novas atualizações de suas gems? Existe uma forma automática de fazer isso?
tnaires
Rode o comando gem outdated e ele te diz quais as que estao desatualizadas e qual a versao nova de cada uma delas.
anderson_lr
Entendi. Muito bom cara, valeu pelas dicas aí. Estava com medo de minha aplicação ficar obsoleta. Mas vi que existe formas bem legais de manter a aplicação sempre atualizada em Rails. Na verdade acho que essa ideia de sempre atualizar as bibliotecas serve pra aplicações java também né? Acho que a melhor saída é sempre manter as bibliotecas atualizadas né?
tnaires
Cara, sou ate meio obcecado com isso, por isso sou meio suspeito pra falar. Em todos os lugares que trabalhei sempre fui o chato, querendo usar a versao mais recente de tudo. Claro, nem sempre foi possivel fazer isso pois depende de cada companhia.