Ruby on Rails 2.3.6 est sorti

  • Partager l'article

La nouvelle version de Ruby on Rails vient de sortir. Cette dernière a un triple but : couvrir les debugs remontés sur les 6 derniers mois, apporter un panel d’améliorations et fournir les outils nécessaire au passage à Ruby on Rails 3.

Le pont pour Ruby on Rails 3 devient un axe majeur pour que la migration puisse se faire en douceur là où le framework est utilisé de manière trop sensible pour être mis à jour dès maintenant. Si votre application ne génère pas d’avertissements suite au passage à la version 2.3.6 alors vous êtes en bonne voie.

Les améliorations sont :

Action Pack

  • mise à jour de Rack de 1.0.1 à 1.1.0.
  • la protection XSS a été mise à jour pour convenir à Rails 3 et on le retrouve en plugin officiel
  • cookies.permanent et cookies.signed permettent de créer des cookies permanents et/ou signés.
  • il est possible maintenant d’assigner les messages flash notice et alert via les méthodes self.alert = '..' et self.notice = '..'. Les options :alert et :notice sont ajouté à la méthode redirect_to
  • le helper label est enfin ajouté en traduction

Active Record

  • Namespacing: support optional table name prefixes on modules by defining self.table_name_prefix. Read more.
  • Destroy utilise le verrour optimiste
  • les counter cache peuvent être recalculés grâce à la méthode reset_counters. Post.reset_counters(1, :comments) remet à jour le compteur des commentaires pour le post 1.
  • PostgreSQL: utilise systématiquement des chaines standard, si supporté
  • MySQL: support de la limitation de la taille d’un index.
  • MySQL: possibilité de positionner une colonne dans les méthodes add_column et change_column avec les options :first => true ou :after => :nom_de_la_colonne

Active Support

  • mis à jour de i18n de 1.3.3 à 1.3.7.
  • mis à jour de TZInfo de 0.3.12 à 0.3.16.
  • amélioration de la vérification des chaines Multibyte
  • utiisation de YAJL pour décoder JSON
  • assert_blank et assert_present sont ajoutées dans les tests
  • Object#singleton_class de Ruby 1.8.8 remplace Object#metaclass.
  • ajout de Object#presence qui retourne l’objet s’il vérifie la méthode present? ou nil
  • ajout de la méthode exclude? à la classe Enumerable qui fonctionne comme pour include?
  • la méthode rand d’Array est renommé en random_element pour ne pas rentrer en conflit avec Kernel.rand
  • les méthodes last_month et last_year sont renommées en prev_month et prev_year dans les classes Date et Time pour assurer une compatibilité avec Ruby 1.9

Active Resource

  • ActiveResource::Base.include_root_in_json = true pour sérialiser un hash de type modèle → attributs.

Action Mailer

  • mise à jour de TMail de 1.2.3 à 1.2.7.

Railties

  • les avertissements liés au passage vers RubyGems 1.3.6 sont supprimés
Lien permanent : http://scarfellan.com/HnuKFNLc - lundi 24 mai 2010
Termes associés : Ruby on Rails et version