Tá, eu sei que cheguei tarde na onda do Rails 2.0, e só vi que mudou muita coisa, quando tentei atualizar um sisteminha antigo que fiz em Rails 1.X para a nova versão e não consegui. Tá certo que usei muita coisa Deprecated, bem como alguns plugins que não evoluíram e tal, mas nem “compilar” o código foi foda… Mas isso me levou a estudar um pouco mais sobre o Rails 2.0 e ver o que tinha mudado. Fiquei impressionado com o tamanho do change log. Por isso surgiu a idéia de criar uma série de artigos explicando o que mudou e o ganho disso.

Para começar, vamos falar de “Sexy Migrations” e outras atualizações no ActiveRecord.
Em poucas palavras, “Sexy Migrations” é apenas um formato mais elegante e enxuto de se declarar os seus arquivos de migrations. Antes, você faria assim:

create_table :people do t
t.column, “account_id”, :integer
t.column, “first_name”, :string, :null => false
t.column, “last_name”, :string, :null => false
t.column, “description”, :text
t.column, “created_at”, :datetime
t.column, “updated_at”, :datetime
end

E agora, pode fazer assim:

create_table :people do t
t.integer :account_id t.string :first_name, :last_name, :null => false
t.text :description
t.timestamps
end

Atente para “t.timestamps”. Ele é um “atalho” para você criar os campos created_at e updated_at. Ficou bem mais enxuto e intuitivo, não ?

Desempenho:
No rails 2.0, o ActiveRecord sofreu algumas alterações para um maior ganho de desempenho. Foi adicionado um simples cache de consultas ao banco. Com isso, consultas (queries) similares serão reconhecidas e retornarão os objetos que estão no cache, ao invés de ir até o banco. Algo que lembra o que o Hibernate faz com grande sucesso. O desempenho dos “fixtures” foi drasticamente melhorando, o que implica em um ganho de 50% ou mais em relação a versão anterior, ao rodar suites de testes que utilizam “fixtures”.

Serialização em JSON:
Exato, agora é possível serializar o seu model para a sintaxe JSON. Mas porque eu iria querer algo assim ? Talvez para trabalhar com Javascript (AJAX) de forma mais prazerosa do que com XML ? Acredito que sim! E veja como é ridiculamente simples:

Person.to_json

E você terá a representação em JSON do seu model.

Bom, por hoje é só. Tentarei, ainda essa semana, escrever um pouco mais sobre as melhorias do Rails 2.0. (Digo tentarei, porque ainda tenho o meu trampo, meus projetos pessoais em rails, e mais meu videogame que ocupam muito do meu tempo, rs…)

No TweetBacks yet. (Be the first to Tweet this post)