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.permanentetcookies.signedpermettent 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 = '..'etself.notice = '..'. Les options:alertet:noticesont ajouté à la méthoderedirect_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.
Destroyutilise 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_columnetchange_columnavec les options:first => trueou: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
YAJLpour décoder JSON assert_blanketassert_presentsont ajoutées dans les testsObject#singleton_classde Ruby 1.8.8 remplaceObject#metaclass.- ajout de
Object#presencequi retourne l’objet s’il vérifie la méthodepresent?ounil - ajout de la méthode
exclude?à la classeEnumerablequi fonctionne comme pourinclude? - la méthode
randd’Array est renommé enrandom_elementpour ne pas rentrer en conflit avecKernel.rand - les méthodes
last_monthetlast_yearsont renommées enprev_monthetprev_yeardans les classes Date et Time pour assurer une compatibilité avec Ruby 1.9
Active Resource
ActiveResource::Base.include_root_in_json = truepour 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














