BT

Rails 2.3.2 Chega com várias Atualizações

por Robert Bazinet , traduzido por Ricardo Yasuda em 20 Mar 2009 |

O time do Ruby on Rails lançou a última versão do Rails, versão 2.3.2. Rails 2.3.2 vem alguns meses após o Rails 2.2 e vem com muitas mudanças significantes que devem ser de interesse para todos os desenvolvedores Rails.

Esta versão parece ter o maior número de mudanças grandes, comparada a qualquer outra versão. Veja as Notas de versão do Rails 2.3 para a lista completa de mudanças. A instalação é feita com:

gem install rails

As notas de versão do Rails 2.3.2 indicam:

Rails 2.3 deve passar em todos os seus próprios testes quer você esteja usando Ruby 1.8 ou o recém-lançado Ruby 1.9.1.

Arquitetura da Aplicação

Suporte a Rack

Rails ganha suporte a Rack para ter uma API padrão para servidores web e frameworks web.

A estrutura do script/server foi simplificada e reescrita. A lista expícita de servidores suportados que costumavam estar no script/server se foi. Em vez disso, Rails depende da instalação do Rack, e script/server passa por ele– o que significa que Rails suporta qualquer servidor que Rack suporta.

Rails Engines

Algo que não via uma atualização já faz um tempo, permite embarcar uma aplicação Rails dentro de outra aplicação Rails.

Documentação do Rails

Embora documentação não é normalmente considerada uma parte essencial em um lançamento de produto, esta versão do Rails também possui atualizações significantes em todos os aspectos da documentação disponível para desenvolvedores Rails. Documentação usualmente é a última parte, ou a mais fraca, de muitos projetos open source mas o time deu grandes passos na produção de uma documentação muito boa para desenvolvedores.

É importante notar as muitas mudanças e atualizações vindas do core team e dos recém-criados Ativistas Rails.

RDoc

  • Fornece ajuda imediata para dúvidas de sintaxe
  • Mantida pelos próprios desenvolvedores principais e geralmente bastante atualizada

Guias Rails

  • Fornece ajuda específica de “como fazer” para problemas de áreas particulares http://guides.rubyonrails.org/
  • O público-alvo é o desenvolvedor indermediário, possivelmente com experiência em Rails
  • Possui um número grande de material existente de alta qualidade
  • Está sendo continuamente revisada para acompanhar mudanças no edge Rails
  • Pode incluir exemplos de código para versões específicas
  • Pode ser entregue como parte do core Rails para fornecer “orientação na ponta dos dedos” para novos desenvolvedores

Livro de Rails

  • Fornece assistência de alto nível e dá uma visão geral de como as peças se encaixam
  • Segue a filosofia “Rails Way”, para que os leitores possam entender porque o framework funciona desse jeito
  • O público-alvo é o desenvolvedor que não conhece Rails ou aqueles querendo ir da visão das “árvores” para a visão da “floresta”
  • Oferece ajuda conceitualizando Rails e na escolha entre módulos alternativos (ORMs, DSLs de roteamento, etc.) durante o desenvolvimento do Rails 3
  • Pode se aproveitar da experência com Merb de tradução simultânea e pegar contribuições de muitos autores
  • Largamente independente de versão
  • Fornece um caminho estruturado do começo ao fim de um jeito que os guias sozinhos não fazem

Rails Wiki

  • Documentação feita pela comunidade que pode responder rapidamente a novo software e novas perguntas
  • Um bom repositório para links de informações externas
  • Potencialmente uma vitrine para o próprio Rails
  • Um lugar para colocar o conhecimento acumulado da comunidade, mesmo as partes que não são normalmente necessárias

Atualizações do Active Record

Há muitas atualizações do Active Record nesta versão incluindo a introdução de transações aninhadas.

  • Atributos Aninhados
  • Transações Aninhadas
  • Escopos Dinâmicos
  • Escopos Padrão
  • Processamento em Lote
  • Condições Múltiplas para Callbacks
  • Find com having
  • Reconectando Conexões MySQL

Mudanças no Action Controller

  • Renderização Unificada
  • Mudança de nome do Application Controller
  • Suporte a HTTP Digest Authentication
  • Roteamento Mais Eficiente
  • Sessões Lazy-loaded baseadas em Rack
  • Mudanças no manuseamento de MIME Types
  • Otimização do respond_to
  • Performance de Cache Melhorada
  • Views com Localização
  • Escopo Parcial para Traduções

Mudanças no Action View

  • Formulários Aninhados
  • Renderização inteligente de Partials
  • Prompts para Helpers de Date Select
  • Cache de Timestamp de AssetTag
  • Hosts de Assets como Objetos
  • Helper grouped_options_for_select
  • Tags Option para helpers de Form Select Desabilitados

Mudanças no Active Support

Active Support teve algumas mudanças boas, incluindo o novo Object#try.

  • Object#try
  • Object#tap Backport
  • Parsers intercambiáveis para XMLmini
  • Frações de segundos para TimeWithZone
  • JSON Key Quoting

Railties

Algumas das mudanças mais interessantes para o Rails estão nesta seção.

  • Rails Metal

Rails Metal é um novo mecanismo que fornece pontos finais super rápidos dentro das suas aplicações Rails. Classes Metal não passam pelo roteamento nem pelo Action Controller para lhe dar mais velocidade bruta (ao custo de todas as coisas no Action Controller, claro). Tudo é baseado no trabalho de estruturação para fazer do Rails uma aplicação Rack com uma pliha de middleware exposta. Pontos finais Metal podem ser carregados da sua aplicação ou de plugins.

Mais informações:

  • Templates de Aplicação

Rails 2.3 incorpora o gerador de aplicação rg de Jeremy McAnally’s. Isso significa que agora temos geração de aplicações baseada em templates construída diretamente no Rails; se você tem um conjunto de plugins que você inclui em todas as aplicações (dentre muitos outros casos de uso), você pode apenas configurar um template um vez e usá-lo todas as vezes quando rodar o comando rails. Há também uma rake task para aplicar um template em uma aplicação existente:

rake rails:template LOCATION=~/template.rb

Isso vai colocar as mudanças do template sobre qualquer código que o projeto já contenha.

  • Backtraces mais silenciosos
  • Tempo de Boot Mais Rápido em Modo de Desenvolvimento com Lazy Loading/Autoload
  • Tarefa rake gem Reescrita

Por favor veja as Notas de Versão do Rails 2.3 para detalhes completos deste lançamento. Há um número razoável de depreciações que devem ser revistas para tornar o upgrade de aplicações mais suave.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT