Bundler e Rails 2.3 LTS
Com a evolução constante de versões do framework Ruby on Rails acaba ficando dificil encontrar servidores no Brasil baratos e com suporte as ultimas versões 4.x do Rails e 2.x do Ruby. Por existirem inúmeros sistemas ainda utilizando a versão 2.3 foram necessárias algumas mudanças para poder tentar acompanhar o ritmo atual, principalmente na parte de segurança. O recomendável é sempre se manter atualizado, mas quando não há essa opção temos que ver o que é mais viável, como por exemplo: Utilizar o Rails 2.3 LTS.
Bundler no Rails 2.3
Nas versões mais novas do Rails(a partir da 3.2) já é possivel utilizar o Bundler para gerenciar suas gems porém no 2.3 não temos essa opção. Foi por esse motivo que o Bundler trouxe suporte para essa versão 'Legacy'. Abaixo segue o tuturial traduzido por mim do site: Bundle.io .
Abra o arquivo: 'config/boot.rb' e logo acima da linha 'Rails.boot!' cole o código abaixo:
class Rails::Boot
def run
load_initializer
Rails::Initializer.class_eval do
def load_gems
@bundler_loaded ||= Bundler.require :default, Rails.env
end
end
Rails::Initializer.run(:set_load_path)
end
end
Crie um novo arquivo chamado: 'preinitializer.rb' dentro da pasta 'config' e cole o código abaixo:
begin
require 'rubygems'
require 'bundler'
rescue LoadError
raise "Could not load the bundler gem. Install it with `gem install bundler`."
end
if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
raise RuntimeError, "Your bundler version is too old for Rails 2.3.\n" +
"Run `gem install bundler` to upgrade."
end
begin
# Set up load paths for all bundled gems
ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
Bundler.setup
rescue Bundler::GemNotFound
raise RuntimeError, "Bundler couldn't find some gems.\n" +
"Did you run `bundle install`?"
end
Com os 2 arquivos criados, o Bundler já estará funcionando, agora crie o seu Gemfile e você já pode começar a gerenciar suas Gems no Rails 3.2!
Atualizando o Rails 2.3 para o Rails 2.3 LTS
Como já foi dito, o Rails 2.3 LTS preve uma continuidade ao suporte dessa versão do Rails só que nesse caso estaremos nas mãos desses bons samaritanos que estão dando continuidade a atualizações de segurança para ele seguindo(ou pelo menos tentanto) o cronograma da comunidade oficial.
Atualizando o Rails
Antes de atualizar tenha certeza que já fez a configuração do Bundler no seu projeto!.
Dentro do seu 'Gemfile' adicione a linha:
gem 'rails', :git => 'https://github.com/makandra/rails.git', :branch => '2-3-lts'
rode o comando:
$ bundle install
E sua versão do Rails será a LTS! Lembrando que como essa é a versão da comunidade o suporte de atualizações terá um delay de 10 dias, o que não deve ser tão impactante para pequenas aplicações. A empresa responsável por manter esse suporte também tem planos pagos, então caso seja o uso em grandes projetos, você poderá ver os planos de suporte na própria página:
Makandra Rails LTS
Confira mais dicas e tutoriais em: www.kuklinski.com.br