Quelques niouses (en) Ruby du mois de Mars

C’est quoi cet article ? Facile ! Un résumé de l’actualité autour de Ruby du mois passé, pour les techos et les geeks pressés. Retrouvez moi sur ce blog pour des infos de techos à techos.

Pour les plus pressés, une seule chose à retenir pour cette première brève : la nouvelle version de REE

REE 2011.03

Commençons par une nouvelle version : La sortie de la version 2011.03 de REE, Ruby Enterprise Edition. C’est une VM Ruby « classique » ajoutée, entre autre, d’un garbage collector amélioré, ce qui lui permet d’être étonnamment plus performante.

Cette version corrige un bug sur du multi-threading de Ruby 1.8.7. Elle intègre aussi les améliorations de la version précédente : un correctif sur une faille de sécurité ruby.

Garb, une gem pour l’API de Google Analytics

Dans ma mission actuelle, je me suis penché sur Google Analytics (GA). En particulier sur la mise en relation de données provenant d’une base et de GA (qui a parlé de B.I. ?).

Étonnamment, j’ai choisi de le réaliser en Ruby.

Je suis donc tombé sur la gem Garb qui fourni une abstraction de l’API de GA. Celle-ci permet d’écrire des modèles comme avec un ORM pour accéder à des vues – des cubes & des dimensions pour les BIeux – représentant des données agrégées par GA.

Elixir, ça ressemble à Ruby, ça sent le Ruby, mais ce n’est pas du Ruby

Elixir est une couche d’abstraction pour Erlang. Eh oui, maintenant on a même des abstractions pour des langages …

C’est comme de l’Erlang, ça tourne sur la VM Erlang, mais avec la syntaxe est très proche du Ruby. Je vous conseille cet article de Plataforma Tecnologia sur : Pourquoi les développeurs Ruby devraient tenter Elixir.

Convenient Scopes, les recherches ActiveRecord pour les fainéants

Convenient Scopes est une gem pour Rails 3 qui permet de faire des recherches avec ActiveRecord en quasi-anglais et sans se préoccuper des jointures. Cette gem se base grandement sur l’API de SearchLogic, qui n’est compatible que Rails 2. Par exemple, on peut écrire :

class User < ActiveRecord::Base
  # Champs : email
  has_many :posts
end

class Post < ActiveRecord::Base
  # Champs : title
  belongs_to :user
end

Post.title_like("ruby").user_email_is("rcs@octo.com")

Sympa non ?

En vrac

Nous avons eu le droit à un nouveau RailsCast sur les TokenFields, ne me demandez pas ce que c’est, je ne l’ai pas regardé !

En rails, quand vous faites un render :partial et que vous ne voulez pas définir toutes vos locales regardez la variable local_assigns.

On peut maintenant voir les images dans Github, c’est beau.

En conclusion

Vous avez des retours d’expérience sur les liens ci-dessus, une autre actualité à faire partager, commentez, commentez et … commentez !