Last Updated: February 25, 2016
·
692
· gustavokuklinski

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