Novedades en Edge Rails #5

<table style="border:1px solid black;">

Nota: Este artículo es traducción del publicado el 5 de Diciembre de 2005 por Mike Gunderloy en el blog de Ruby on Rails.

El desarrollo de Rails 2.3 sigue avanzando a buen ritmo. Veamos lo que ha ocurrido durante la última semana

Plantillas de aplicación

Rails incorpora ahora rg, el generador de aplicaciones de Jeremy McAnally. Esto significa que ahora tenemos la generación de aplicaciones por plantillas. Si tienes un conjunto de plugins que incluyes en todas las aplicaciones (entre otros muchos casos de uso), puedes simplemente configurar una plantilla una única vez y usarla una y otra vez cuando ejecutas el comando rails. commit

Mejoras en find

Hasta el venerable código que utiliza ActiveRecord para hablar con la base de datos se puede mejorar, y ha habido un par de ellas durante esta semana. En primer lugar, se le ha quitado un AS extra al SQL que se genera para precargar registros en las asociaciones has_and_belongs_to_many, que hace que funcione mejor con algunas bases de datos. También tenemos ahora la opción :having en find, (así como eh has_many y en has_and_belongs_to_many) para filtrar registros en los finds agrupados. Como saben los que tienen una buena base de SQL, esto permite filtrar basándose en los resultados agrupados:

developers =  Developer.find(:all, :group => "salary", 
  :having => "sum(salary) =>  10000", :select => "salary")

commit commit

Integración con Rack

Continúa la mejora de la integración de Rails con Rack. Esta semana se vio la muerte del venerable procesador de CGI dentro de Rais, así como el uso de Rack para despachar FCGI. También hubo algo de refactorización en los tests de Rails para que se lleven mejor con Rack. commit commit

Limpieza del archivo de configuración

A lo largo de los años, el fichero environment.rb ha quedado un poco abarrotado con cometarios, documentación varia y configuración que la mayor parte de la gente no necesita. David Heinemeir se tomó unos minutos para limpiar un poco y el estado actual es mucho más ordenado. Como parte de la limpieza, la configuración del almacenamiento de sesiones ha sido movida a su propio fichero commit

Adiós a los scripts de procesos

Si eres uno de los (pocos) desarrolladores de Rails que despliega sus aplicaciones en un entorno que depende los scripts inspector, reaper, y spawner, tienes que saber que estos scripts ya no vienen incluidos con el core de Rails porque son un bagaje innecesario para las aplicaciones modernas que se despliegan con alternativas como Passenger. Pero si te hacen falta, puedes conseguir copias con el plugin irs_process_scripts. commit

Otros

El que Rails compruebe la falsificación de IPs puede ser una molestia en los sites que tienen mucho tráfico de usuarios con teléfonos móviles porque sus proxies por lo general no ponen las cosas bien. Si este es el caso, se puede configurar ActionController::Base.ip_spoofing_check = false para desactivar esta comprobación. commit

Rails.root devuelve ahora un objeto Pathname, lo que quiere decir que puedes usarlo directamente con el método join para limpiar el código que utilice File.join. commit

ActionController::Dispatcher implementa ahora su propio stack de middleware, que puedes ver lanzando rake middleware. commit

La carga de gemas se porta mejor con las dependencias no satisfechas. commit

Ahora auto_link aplica adecuadamente las opciones como :target y :class a los enlaces a direcciones de correo. commit

blog comments powered by Disqus