RoRED: IDE Ruby on Rails para windows
Publicado por el Jueves, 22 de Febrero de 2007
En nuestra constante búsqueda del IDE Rails definitivo, nos hemos topado a lo largo de estos meses con diversos proyectos para todas las plataformas. En nuestro trabajo diario, hemos terminado utilizando RadRails, un IDE bastante completo basado en Eclipse. Pero hay cosas que seguimos echando en falta, y que por ahora RadRails no ofrece. Por eso seguimos visitando las webs de otros editores/IDEs Rails, en busca de esas funcionalidades perdidas (o, más correctamente, todavía no encontradas). Y cómo no, la estrella de estas funcionalidades es la autocomplección de código (o autocompletar, code assist, code completion, o como queráis llamarlo). Hasta ahora ninguno de los IDEs que habíamos probado la ofrecía, pero en una visita rutinaria a las webs de los IDEs Rails más conocidos (dejando a un lado el omni-mac-scente Textmate), nos hemos encontrado con la nueva versión de RoRED (sólo para Windows). Y hete aquí que esta versión ¡incluye autocomplección de código! Vale, no lo completa todo, no tiene un sistema muy refinado para sugerir cómo completar… pero ¡autocompleta! También muestra ayudas con los parámetros de los métodos… dos de las cosas a las que un programador acostumbrado a trabajar en otros entornos está más (redundando) acostumbrado.
Que quede claro que todas estas funcionalidades todavía son rudimentarias, y que otras igual de útiles como la integración con Subversion no están disponibles. Habrá que esperar a que éste y otros entornos de desarrollo Rails evolucionen, pero parece que poco a poco toda esta funcionalidad que debería ser básica irá apareciendo y se irá haciendo más común, lo que simplificará un poco más el trabajo de los desarrolladores y ayudará a que la felicidad llegue a todos.
Mendeleweb
Publicado por el Viernes, 02 de Febrero de 2007
Cumpliendo lo que ya os adelanté en un post anterior, Mendeleweb ya ha sido publicada. Con la excusa del centenario de la muerte de Mendeleiev (padre de la tabla periódica de los elementos químicos), Trabe Soluciones ha desarrollado, utilizando Rails, una aplicación para los Museos Científicos Coruñeses con el objetivo de que los usuarios confeccionen durante un año una tabla periódica compuesta por personajes propuestos por ellos mismos. Es decir, se pueden proponer “elementos” y votar a aquéllos que nos parezcan más adecuados para cada casilla (o elemento químico, esta vez sin comillas).
Ya sabéis, tenéis todo un año por delante para votar y proponer a vuestros “elementos” favoritos.
Crear thumbnails ligeros con Minimagick
Publicado por el Jueves, 01 de Febrero de 2007
Tras el apagón voluntario de 5 minutos (que por lo menos en esta nuestra ciudad ha disfrutado de una acogida muuuy modesta) vamos a hablar brevemente de como crear lightweight thumbnails desde nuestra aplicación Ruby utilizando MiniMagick.
Minimagick es una librería minimalista para trabajar con imágenes. Soporta las acciones más habituales que uno puede necesitar realizar sobre una imagen. Pero tiene un gran problema: hay muy poca documentación sobre ella, asi que al final solo nos queda mirar el código fuente, que tampoco es que duela, pero da un poco de pereza :D.
Hay que reconocer que en este caso el código es bastante entendible. Como no he encontrado ninguna página donde explicaran en un par de líneas como se puede cambiar el parámetro de calidad de un jpg, lo explico aqui. Las distintas acciones que permite realizar Minimagick se ejecutan mediante invocaciones al comando mogrify, con distintos parámetros. Hay ciertos métodos definidos de una forma explicita, pero si nos salimos de ahi, como casi siempre en nuestro querido Ruby, la clave está en la implementación del amado method_missing:
def method_missing(symbol, *args)
args.push(@path) # push the path onto the end
run_command("mogrify", "-#{symbol}", *args)
end
Más sencillo no se puede. Ahora llega con saber que el flag para modificar la calidad de una imagen es quality, y que la unidad es el tanto por cien (100 lo mejor posible, 0 lo peor) y ya está la receta completa. Supongamos que tenemos un objeto Image que hemos bautizado como my_image y que ya está instanciado. Si queremos guardarlo con una calidad del 70%, será suficiente con el siguiente código:
my_image.quality 70 my_image.write(...)
Obviamente, en el mundo real donde hay que hacer más cosas que cambiar la calidad con que se graba un jpg, se podría utilizar el método combine_options para hacer varias cosas en un solo comando mogrify.
