BT

Novidades O InfoQ vem desenvolvendo uma série de novas funcionalidades para melhorar sua experiência com o site. Confira!

Sumário sobre Compatibilidade de bibliotecas Ruby 1.9.1

| por Werner Schuster , traduzido por Felipe Rodrigues em 16 fev 2009. Tempo estimado de leitura: 2 minutos |

Ruby 1.9.1 é o primeiro release estável da série 1.9.x e traz, dentre várias melhorias da linguagem e suas bibliotecas padrão, aumento significante de performance.

Entretando, compatibilidade com código existente pode ser uma barreira quando se está migrando para o 1.9.1. Há diferentes razões para isso. O gem ParseTree, por exemplo, não está disponível porque a nova VM Ruby não mantém um parsetree Ruby após ter parseado o código fonte e compilado em bytecode. Um substituto parcial está disponível na biblioteca Ripper incluida no download do 1.9.x (MacRuby, por exemplo, usa o Ripper para parsear código Ruby para alguns propósitos.). Bibliotecas que somente requerem parsing de código fonte podem superar isso com o Ripper ou com o ruby_parser.
Outra razão em potencial para problemas de compatibilidade são as mudanças súbtas na semântica da linguagem, como variáveis de blocos que agora tem escopo bem definido, bem como outras mudanças.

Qualquer que seja a razão, o release 1.9 em 2007 e agora o release 1.9.1 chamou a atenção para preparar as bibliotecas para o 1.9.x.

De acordo com muitos relatórios, o Rails 2.3 (ou Rails Edge) parece ser compatível com o 1.9.x, já que releases anteriores não parecem sofrer com isso. Ryan Bigg detalhou uma lista de problemas que teve usando o Rails no Ruby 1.9.1. O blog do Phusion Passenger relata que sua mais recente versão é compatível com o 1.9.1 e detalha quais bibliotecas devem ser atualizadas para fazê-lo funcionar. Alguns database adapters estão prontos, como o release 2.8.1 do MySQL adapter que funcoina com o Ruby 1.9.1.

Uma solução interessante para determinar informações de compatibilidade está disponível no http://isitruby19.com/. O site lista Gems Ruby e permite aos usuários relatar suas experiências com compatibilidade. Uma funcionalidade interessante é uma barra verde e vermelha ao lado do nome do Gem, que mostra o número de usuários que relataram o sucesso ou falha daquele Gem no 1.9.
Os resultados devem ser com um pouco de desconfiança, principalmente aqueles Gems com relato de apenas um usuário. No momento da publicação desta notícia, o estava relatado que o Gem ParseTree estava "funcionando", informação contradita por uma mensagem de Ryan Davis, o criador do ParseTree. Também, um rápido teste em executar o ParseTree em uma instâncias do Ruby 1.9.1 falhava com

parse_tree.rb:3:in `': ParseTree doesn't work with ruby 1.9.1 

De qualquer forma, http://isitruby19.com é o lugar para começar quando estiver procurando por respostas de compatibilidade.

O que o está impedindo de migrar para o Ruby 1.9.1?

Avalie esse artigo

Relevância
Estilo/Redação

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

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT